【发布时间】:2017-10-30 21:22:05
【问题描述】:
添加新行后我必须对JTable (Object[][] data, Object[] headers) 进行排序。
这是代码(不起作用)
public class Window extends JFrame {
Window() {
super();
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JTable table = new JTable();
table.setModel(new DefaultTableModel(null, new String[]{"col1"}));
TableRowSorter<TableModel> sorter = new TableRowSorter<>(table.getModel());
sorter.setComparator(0, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.compareTo(o2);
}
});
sorter.setSortsOnUpdates(true);
table.setRowSorter(sorter);
DefaultTableModel model = (DefaultTableModel)table.getModel();
model.addRow(new String[] {"A"});
model.addRow(new String[] {"C"});
model.addRow(new String[] {"B"});
this.getContentPane().add(table);
pack();
setVisible(true);
}
public static void main(String[] args) {
new Window();
}
}
输出结果:表(A,C,B),预期(A,B,C)
模型 - DefaultTableModel
deviceTable - Jtable
【问题讨论】:
-
为了获得最佳帮助,请创建并发布一个有效的minimal reproducible example -- 一个小程序,小到可以完全作为代码格式的文本在您的问题中发布,我们无需修改即可编译和运行,这向我们展示了您的问题。
-
@HovercraftFullOfEels 添加了 MCVE
标签: java database swing sorting jtable