gpt4 book ai didi

java - 如何过滤以 jtextfield 中键入的字符开头的 jtable 行

转载 作者:行者123 更新时间:2023-12-02 11:13:07 25 4
gpt4 key购买 nike

我已经创建了 JTable 行过滤器,它运行良好,可以根据 JTextfield 中的键入来过滤行,但它会根据行中任何位置存在的键入字符进行过滤 而我想过滤以键入字符开头的行。有正则表达式标志吗?

我的表行过滤器代码:

public static void setFilter(JTable table,String value) {
sorter = new TableRowSorter<>((DefaultTableModel)table.getModel());
table.setRowSorter(sorter);
RowFilter<DefaultTableModel, Object> rf = null;
try {
rf = RowFilter.regexFilter("(?i)" + value, columnIndex); //("(?i)" for case insensitive filter
} catch (java.util.regex.PatternSyntaxException e) {
return;
}
sorter.setRowFilter(rf);
}

最佳答案

rf = RowFilter.regexFilter("(?i)" + value, columnIndex);  

but it filters according to typed character present anywhere in the row

它根据在columnIndex指定的列中找到的数据进行过滤。

I want to filter the row starting with the typed character.

如果您说要根据指定列中找到的数据的第一个字符的匹配进行过滤,那么您应该能够使用:

rf = RowFilter.regexFilter("^" + value, columnIndex);  

阅读 Pattern 类的 API。 Boundary Matchers 部分显示“^”用于匹配数据开头的字符。

关于java - 如何过滤以 jtextfield 中键入的字符开头的 jtable 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50474913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com