Java swing filtr tabeli jtable

0
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?
                   
0

Rozwiązanie jest dośc proste:

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1