i have a JTable having many strings in that.i have created a textbox for user entry, above the table. i want a row filter which can remove the rows having strings enterd by the user in the text box. please help me out for this.
+1
A:
from here:
sorting and filtering
In the following example code, you explicitly create a sorter object so you can later use it to specify a filter:
MyTableModel model = new MyTableModel(); sorter = new TableRowSorter<MyTableModel>(model); table = new JTable(model); table.setRowSorter(sorter);
Then you filter based on the current value of a text field:
private void newFilter() { RowFilter<MyTableModel, Object> rf = null; //If current expression doesn't parse, don't update. try { rf = RowFilter.regexFilter(filterText.getText(),0); } catch (java.util.regex.PatternSyntaxExceptione) { return; } sorter.setRowFilter(rf); }
Victor
2009-07-10 06:05:58
+1
A:
You can use JTable.setAutoCreateRowSorter
which will use the default row sorter/filter of the JTable
oxbow_lakes
2009-07-10 06:25:44
+1
A:
To pick up the comment from kd304, you could use GlazedLists. There you'll use a FilterList as the input for your JTable, and the FilterList will take care of the rest.
boutta
2009-07-10 11:54:45