diff --git a/src/main/java/com/imsweb/naaccrxml/gui/pages/DictionariesPage.java b/src/main/java/com/imsweb/naaccrxml/gui/pages/DictionariesPage.java index da0707de..a9d56813 100644 --- a/src/main/java/com/imsweb/naaccrxml/gui/pages/DictionariesPage.java +++ b/src/main/java/com/imsweb/naaccrxml/gui/pages/DictionariesPage.java @@ -10,8 +10,6 @@ import java.awt.Insets; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; -import java.awt.event.KeyAdapter; -import java.awt.event.KeyEvent; import java.io.IOException; import java.util.Collections; import java.util.Comparator; @@ -34,6 +32,8 @@ import javax.swing.border.EmptyBorder; import javax.swing.border.LineBorder; import javax.swing.border.MatteBorder; +import javax.swing.event.DocumentEvent; +import javax.swing.event.DocumentListener; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableModel; @@ -159,9 +159,9 @@ public Component getTableCellRendererComponent(JTable table, Object value, boole tableControlsPnl.add(new JLabel("Filter Items:")); tableControlsPnl.add(Box.createHorizontalStrut(5)); final JTextField filterFld = new JTextField(25); - filterFld.addKeyListener(new KeyAdapter() { + filterFld.getDocument().addDocumentListener(new DocumentListener() { @Override - public void keyTyped(KeyEvent e) { + public void insertUpdate(DocumentEvent e) { try { _itemsSorter.setRowFilter(RowFilter.regexFilter("(?i)" + filterFld.getText(), 0, 1, 2)); } @@ -169,6 +169,20 @@ public void keyTyped(KeyEvent e) { // ignored } } + + @Override + public void removeUpdate(DocumentEvent e) { + try { + _itemsSorter.setRowFilter(RowFilter.regexFilter("(?i)" + filterFld.getText(), 0, 1, 2)); + } + catch (PatternSyntaxException ex) { + // ignored + } + } + + @Override + public void changedUpdate(DocumentEvent e) { + } }); tableControlsPnl.add(filterFld); tableControlsPnl.add(Box.createHorizontalStrut(10));