java - 如何从不同的表单更新 jtable?

标签 java swing jtable jdialog

public class A extends JInternalFrame implements ActionListener
{
   private JTable table;
   private JButton button;

   public A()
   {
      button = new JButton("Load Dialog");
      button.addActionListener(this);

      initializeTable();
   }

   public void initializeTable()
   {

      table = new JTable();
      MyTableModel mymodel = new MyTableModel();

      table.setModel(mymodel);
   }

   public void changeModel(NewTableModel model)
   {
      table.setModel(model);
   }

   public void actionPerformed(ActionEvent e)
   {
      MyDialog dialog = new MyDialog(null,true);
      dialog.setVisible(true);
   }
}

public class MyDialog extends JDialog implements ActionListener
{

   private JButton button;

   public MyDialog(JFrame parent,bool modal)
   {
      button = new JButton("Change Model");
      button.addActionListener(this);

      super(parent,modal);
   }

   public void actionPerformed(ActionEvent e)
   {
      NewTableModel newModel = new NewTableModel();
      A a = new A();

      a.changeModel(newModel);
   }
}

我想更新第二个表单(MyDialog)中第一个表单(A)的表。我想为其设置一个新模型,当我单击 MyDialog 中的更改模型按钮时,它将自动更新第一种形式(A)中的模型,并且其所有显示的值将被来自 MyDialog 的新模型替换。怎么可能做到这一点?希望有人可以指导我。谢谢。

最佳答案

如果您想用 MyDialog 中的模型完全替换 A 中的模型,为什么不在 MyDialog 中提供一个返回的 getter新模型并在对话框关闭后简单地替换为 A(假设它是模式对话框),否则您需要将 A 的引用传递给 MyDialog

关于java - 如何从不同的表单更新 jtable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15778306/

相关文章:

java - 如何从维基百科中提取标题标题和相应的文本

java - 用正则表达式检查数字是否匹配

java - Gradle 找不到tools.jar

Java 7 调整 JFrame(我的 GUI)的大小 : the componentListener is not getting fired

java - 如何将 JOptionPane.showOptionDialog 的默认选择更改为 default_close_operation

java - 从另一个类刷新 JTable

java - JCodeModel 和数组

java - 在执行其他方法时在单独的线程上更新 GUI

java - 从查询中填充 Jtable

java - 从 JTable 获取选定 JCheckBox 的数据