我对应用程序的设计有疑问。
我有 2 个 JTable
(带有我自己的 TableModel
),我想创建第三个表,该表是根据其他两个表中的选择构建的。因此,当我启动应用程序时,没有选择任何内容,并且第三个表应该为空。
如何找出两个表中选择的内容以及如何刷新第三个表?
最佳答案
How do I find out what is selected in the two tables and how do I refresh the third one?
请注意,您这里有两个不同但相关的问题。
第一个是关于表中的选择(请参阅 User Selections 教程的 How to Use Tables 部分)。基本上你需要附加一个 ListSelectionListener到表的ListSelectionModel以监听选择的变化。像这样的事情:
JTable table1 = new JTable();
table1.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
// Implementation here
}
});
参见JTable API :
- public ListSelectionModel getSelectionModel()
- public int[] getSelectedRows()
- public int getSelectedRowCount()
- public int convertRowIndexToModel()
第二个问题是关于刷新/更新第三个表。为了实现此目的,您需要通过添加/删除/更新行来使用第三个表的模型。然后此模型将通知 View 某些内容发生了变化,并且您的表格将自动更新。
关于java - Swing设计JTable自动刷新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25643657/