Java swing filtr tabeli jtable

Java swing filtr tabeli jtable
EI
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
Witajcie,

Kiedyś gdzieś wyszukałem filtr który odnosi się do komponentu jTable:

tabela.addKeyListener(new KeyListener()
                    {
                    public void keyTyped(KeyEvent e) {}
                    public void keyPressed(KeyEvent e) {}
                    public void keyReleased(KeyEvent e)
                    {
                     String text = poleFiltra.getText();
                     if (text.length() == 0){itemParametersSorter.setRowFilter(null);}
                     else {
                           try {          
                                Sorter.setRowFilter(
                                RowFilter.regexFilter("(?i)" + text));
                               }
                           catch (PatternSyntaxException pse) {System.err.println("Błąd filtrowania!");}
                          }
                    }  });

Filtr działa na całej tabeli, czy można to w jakis sposób wykozystac ograniczając jego działanie tylko do jednej kolumny?
                   
EI
  • Rejestracja: dni
  • Ostatnio: dni
0

Rozwiązanie jest dośc proste:

Kopiuj
itemParametersFiltrField.addKeyListener(new KeyListener()
                    {
                    public void keyTyped(KeyEvent e) {}
                    public void keyPressed(KeyEvent e) {}
                    public void keyReleased(KeyEvent e)
                    {
                     String text = itemParametersFiltrField.getText();
                     if (text.length() == 0){itemParametersSorter.setRowFilter(null);}
                     else {
                           try {itemParametersSorter.setRowFilter(RowFilter.regexFilter("(?i)" + text,7));}
                           catch (PatternSyntaxException pse) {System.err.println("Błąd filtrowania!");}
                          }
                    }});

dodatkowo wstawimy index tabeli.

Może komus się przyda.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.