下面列出了javax.swing.RowFilter#andFilter ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
protected void configureFilters() {
if (showOnlyWinners && hasFilterString()) {
List<RowFilter<OscarTableModel, Integer>> filters =
new ArrayList<RowFilter<OscarTableModel, Integer>>(2);
filters.add(winnerFilter);
filters.add(searchFilter);
RowFilter<OscarTableModel, Integer> comboFilter = RowFilter.andFilter(filters);
sorter.setRowFilter(comboFilter);
} else if (showOnlyWinners) {
sorter.setRowFilter(winnerFilter);
} else if (hasFilterString()) {
sorter.setRowFilter(searchFilter);
} else {
sorter.setRowFilter(null);
}
tableStatus.setText((hasFilterString() ? searchLabelString : statusLabelString)
+ oscarTable.getRowCount());
}
protected void configureFilters() {
if (showOnlyWinners && hasFilterString()) {
List<RowFilter<OscarTableModel, Integer>> filters = new ArrayList<RowFilter<OscarTableModel, Integer>>(
2);
filters.add(winnerFilter);
filters.add(searchFilter);
// RowFilter<Object, Object> comboFilter =
// RowFilter.andFilter(filters);
RowFilter<OscarTableModel, Integer> comboFilter = RowFilter
.<OscarTableModel, Integer> andFilter(filters);
sorter.setRowFilter(comboFilter);
} else if (showOnlyWinners) {
sorter.setRowFilter(winnerFilter);
} else if (hasFilterString()) {
sorter.setRowFilter(searchFilter);
} else {
sorter.setRowFilter(null);
}
tableStatus.setText((hasFilterString() ? searchLabelString
: statusLabelString) + oscarTable.getRowCount());
}
private RowFilter<Object, Object> andExpr() throws Exception {
ArrayList<RowFilter<Object, Object>> filters = new ArrayList<RowFilter<Object, Object>>();
filters.add(primaryExpr());
while (getNextChar() == '&') {
index++;
if (getNextChar() != '&') { throw new ParseException("& token is missing", index); }
index++;
filters.add(primaryExpr());
}
if (filters.size() == 1) { return filters.get(0); }
return RowFilter.andFilter(filters);
}
private void filterTable(String text)
{
String filterString = text;
ArrayList<RowFilter<TableModel, Object>> andFilter = new ArrayList<RowFilter<TableModel, Object>>(1); //split.length);
ArrayList<RowFilter<TableModel, Object>> subFilter;
RowFilter<TableModel, Object> rf;
RowFilter<TableModel, Object> rf0;
try
{
subFilter = new ArrayList<RowFilter<TableModel, Object>>(1); //split.length);
for (Integer i = 0; i < model.getColumnCount(); i++)
{
rf0 = RowFilter.regexFilter("^(?i)" + filterString, i);
subFilter.add(rf0);
}
rf = RowFilter.orFilter(subFilter);
andFilter.add(rf);
}
catch (PatternSyntaxException pse)
{
Log.error(pse);
}
RowFilter<TableModel, Object> rowf = RowFilter.andFilter(andFilter);
sorter.setRowFilter(rowf);
}