【发布时间】:2021-11-17 08:44:05
【问题描述】:
过滤功能代码
private void filter(String str){
tModel= (DefaultTableModel)table.getModel();
TableRowSorter<DefaultTableModel> trs = new TableRowSorter<>(tModel);
if(str != "All"){
table.setRowSorter(trs);
trs.setRowFilter(RowFilter.regexFilter(str));
}else{
table.setRowSorter(trs);
}
}
JComboBox 实例
private void cCategoryItemStateChanged(java.awt.event.ItemEvent evt) {
String category = cCategory.getSelectedItem().toString();
filter(category);
}
private void cUserTypeItemStateChanged(java.awt.event.ItemEvent evt) {
String user_type = cUserType.getSelectedItem().toString();
filter(user_type);
}
一旦我选择了一个类别,它将根据类别进行过滤,但如果我选择了类别和用户类型,我需要同时根据类别和用户类型进行过滤。该怎么做?
【问题讨论】:
-
与您的问题无关,但您不能使用
!=进行字符串相等...您需要使用equals()方法。==和!=用于引用相等性。 -
阅读
RowFilterAPI。您可以使用andFilter(...)方法来创建您的过滤器。 -
知道了,谢谢。 @camickr
标签: java swing jtable jcombobox tablerowsorter