【发布时间】:2021-06-25 19:28:31
【问题描述】:
我需要检测用户何时对JTable 的列重新排序,以便保留和恢复该信息。根据JavaDocs,将propertyChangeListener 添加到表列中就足够了,例如
JTable t = ...;
TableColumn keysColumn = t.getColumnModel().getColumn(0);
TableColumn valuesColumn = t.getColumnModel().getColumn(1);
keysColumn.addPropertyChangeListener(new PropertyChangeListener {
public void propertyChange(PropertyChangeEvent e) {
System.out.println("PROPERTY: " + e.getPropertyName());
}
});
但是,虽然我收到了 width 和 preferredWidth 的更新,但重新排序列并不会触发任何可观察到的内容。我期待看到modelIndex 的更新。做错了什么?
Linux 上的 OpenJDK 11,尝试了不同的外观。
【问题讨论】:
标签: java swing jtable tablecolumn