如何根据JCombox值选择从JTable获取行?

时间:2019-01-04 15:44:19

标签: java swing jtable jcombobox

如果我单击组合框值,那么与所选组合框相同的值的JTable行应仅显示。
例如:

ID      Name.              Category 
101.   Dumplings           Chicken
102.   Pizza               Cheese

当我在组合框中选择Chicken时,仅显示第一行的JTable with Chicken的行。 我该怎么做?

1 个答案:

答案 0 :(得分:1)

使用RowFilter

您在TableRowSorter上安装了RowFilter:

TableRowSorter<Dish> sorter = new TableRowSorter<>(table.getModel());
table.setRowSorter(sorter);

int categoryColumnIndex = 2;

combobox.addActionListener(e -> {
    String value = combobox.getSelectedItem().toString();
    sorter.setRowFilter(
        RowFilter.regexFilter(
            Pattern.quote(value),
            categoryColumnIndex));
});