gpt4 book ai didi

java - 两个日期之间的 JTable rowfilter,同一列

转载 作者:行者123 更新时间:2023-11-29 03:07:30 30 4
gpt4 key购买 nike

我如何实现 RowFilter两个日期之间?日期为字符串格式。是否需要将格式更改为日期格式以应用 RegexFilter

我尝试使用以下方法,但失败了:

DefaultTableModel model = (DefaultTableModel) easypath.masteBusiness_table.getModel();
easypath.masteBusiness_table.setModel(model);
TableRowSorter<TableModel> rowSorter = new TableRowSorter<>(easypath.masteBusiness_table.getModel());
easypath.masteBusiness_table.setRowSorter(rowSorter);
rowSorter.setRowFilter(RowFilter.regexFilter(startD+"\\s+(.*?)\\s+"+endD));

我知道我的过滤是错误的 (startD+"\\s+(.*?)\\s+"+endD)); 仅用于搜索单个字符串,但作为新手,我将非常感谢任何建议。

更新
我刚刚看到这个 ( http://docs.oracle.com/javase/7/docs/api/javax/swing/RowFilter.html ) 其中 RowSorter<M,I> ,M是模型,I是整数值,不符合我的条件

最佳答案

您应该在 TableModel 中存储一个 Date 而不是日期的字符串表示。

然后您可以使用 RowFilter

您可以使用带有两个日期过滤器的“and”过滤器来代替正则表达式过滤器。像这样的东西:

List<RowFilter<Object,Object>> filters = new ArrayList<RowFilter<Object,Object>>(2);
filters.add( RowFilter.dateFilter(ComparisonType.AFTER, startDate) );
filters.add( RowFilter.dateFilter(ComparisonType.BEFORE, endDate) );
rf = RowFilter.andFilter(filters);
sorter.setRowFilter(rf);

Sorting and Filtering 上阅读 Swing 教程有关如何使用过滤器的更多信息和工作示例。

关于java - 两个日期之间的 JTable rowfilter,同一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31372553/

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