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);
   }
}

2 番目のフォーム (MyDialog) で最初のフォーム (A) からテーブルを更新したい。MyDialog でモデルの変更ボタンをクリックすると、最初のフォーム (A) のモデルが自動的に更新され、表示されたすべての値が MyDialog からの新しいモデルに置き換えられるように、新しいモデルを設定したいと考えています。どうすればそれが可能ですか?うまくいけば、誰かが私を導くことができます。ありがとう。

4

1 に答える 1

2

Aのモデルを のモデルに完全に置き換えたい場合は、新しいモデルを返すMyDialoggetter を提供し、ダイアログが閉じたら (モーダル ダイアログであると仮定して) 単純に置き換えてみませんか。それ以外の場合は、参照を渡す必要があります。~のMyDialogAAMyDialog

于 2013-04-03T03:23:11.197 に答える