我发现the following question关于对JTable进行排序,该模型不是“静态的”,但可以添加元素,自动更新排序顺序。 接受的答案是:
所以,我改变了
fireTableCellUpdated(row,col);
到
fireTableRowsUpdated(0,data.size() - 1);
现在即使数据发生变化也能正确排序,并保留选择。
由于这个问题已经超过5年了,随着Java 8和Co.的发生,我想问一下是否有新的/更好的解决方案来实现排序。
在我的模型中实施AbstractTableModel
我目前正在调用
fireTableCellUpdated(newRowId, newColId);
添加新项目时。
我的用户界面中的代码如下所示:
JTable table = new JTable();
table.setModel(myModel); // myModel is declared somewhere above
table.setAutoCreateRowSorter(true);
table.getRowSorter().setSortKeys(Arrays.asList(new RowSorter.SortKey(0, SortOrder.ASCENDING)));
我是否必须采用其他问题中提出的解决方案,或者是否有一些“更好”/最佳实践方法来执行此操作?