我已经使用 DefaultRowSorter 和我自定义的行排序器类在 JTable 上实现了行排序。单击列标题对表格进行排序一切正常。
但是,如果我想从应用程序代码内部调用排序操作(而不单击列标题)怎么办?我必须调用哪个方法?
EDIT:
我这样初始化表行排序器:
public void buildRowSorter() {
TableRowSorter<MyModel> sorter = new TableRowSorter<MyModel>((MyModel)this.table.getModel());
try {
sorter.setComparator(0, new MyCustomComparator<Double>(sorter,0));
sorter.setComparator(1, new MyCustomComparator<String>(sorter,1));
} catch (ParseException e) {
e.printStackTrace();
}
this.table.setRowSorter(sorter);
}
现在,我希望通过引用 JTable(表),将关联的行排序器检索到模型的特定列,并对其调用排序操作。
据我所知你有一个习惯比较器(为什么要保留对排序器的引用?看起来很可疑)不是自定义的 RowSorter。
更改排序的预期方法是在 RowSorter 上调用toggleSortOrder(column)。为了进行更细粒度的控制,您可能需要访问 DefaultRowSorter,例如它的 setSortKeys 方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)