0
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 的新模型替换。怎么可能做到这一点?希望有人可以指导我。谢谢。

4

1 回答 1

2

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

于 2013-04-03T03:23:11.197 回答