Java 如何根据从另一个表中选择的行更改表内容

Java 如何根据从另一个表中选择的行更改表内容,java,swing,jtable,Java,Swing,Jtable,我创建了一个JDialog,它显示两个不同的表。当用户从第一个表中选择一行时,第二个表的内容应该相应地更新并显示一些新数据。有人能给我一些指导来创建这样的表行为吗?谢谢 使第二个表的表模型实现ListSelectionListener,并将其作为侦听器添加到第一个表的选择模型中 当调用第二个表的表模型的valueChanged(…)时,确保激发fireTableDataChanged()(假设第二个表的表模型扩展了AbstractTableModel) 或者您可以添加一个匿名类来转发相应的事

我创建了一个JDialog,它显示两个不同的表。当用户从第一个表中选择一行时,第二个表的内容应该相应地更新并显示一些新数据。有人能给我一些指导来创建这样的表行为吗?谢谢

  • 使第二个表的表模型实现
    ListSelectionListener
    ,并将其作为侦听器添加到第一个表的选择模型中
  • 当调用第二个表的表模型的
    valueChanged(…)
    时,确保激发fireTableDataChanged()(假设第二个表的表模型扩展了
    AbstractTableModel
或者您可以添加一个匿名类来转发相应的事件。比如:

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

更具体地说,您知道多少?我已经创建了两个扩展JTable类的表类。这些类中的每一个都有自己的表模型类,并有一个列表对象作为参数。。。