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
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.