2010-09-16 58 views
1

我创建了一个显示两个不同表格的JDialog。当用户从第一个表中选择一行时,第二个表的内容应该相应地更新并显示一些新的数据。有人可以给我一些指导方针来创建这样的表格行为吗?谢谢!如何根据从另一个表中选择一行来更改表格内容

+0

更具体一点,您知道多少? – pstanton 2010-09-16 22:37:58

+0

我已经创建了两个扩展JTable类的表类。这些类中的每一个都有其自己的表模型类,并具有参数List object ... – Anto 2010-09-16 22:55:13

回答

3
  • 使第二表的表模型实现ListSelectionListener并将其添加为一个监听器第一个表的选择模型
  • 确保你火fireTableDataChanged()(假设第二个表的表格模型扩展AbstractTableModel)当调用第二个表格模型的​​时。

或者您可以添加一个匿名类来转发相应的事件。例如:

table1.getSelectionModel().addListSelectionListener(new ListSelectionListener() { 
    public void valueChanged(ListSelectionEvent e) 
    { 
    ... // fill data into table2 
    tableModel2.fireTableDataChanged(); // update the display 
    } 
});  
相关问题