从关闭的JDialog对象调用Jframe对象

时间:2016-06-21 09:48:11

标签: java swing jframe

我正在创建一个基本的Swing应用程序。其中我有一个JFrame(有一个JTable)。这个窗口有添加记录按钮,我打开一个JDialog窗口,里面有很少的数据字段。使用后输入这些字段的值。我需要将这些信息作为JTable中的记录添加到JFrame

为此,我打开JFrame窗口。一旦用户按下“添加”按钮。 JDialogbox窗口打开(JFrame仍然在后台打开)。然后用户输入一些信息,然后需要传回JFrame

如何在不创建新JFrame对象的情况下执行此操作。有没有办法在JDialog框构造函数中使用父元素?

(javax.swing.JFrame parent, boolean modal)

1 个答案:

答案 0 :(得分:1)

这是一个代码框架,它显示了使用框架上的回调方法实现所需内容的方法。

public class DataBean{
     // keep all variables that needs to be transferred
}

public class MyFrame extends JFrame {
      // Frame code here

     public void openDialog() {
          new MyDialog(this,true).setVisible(true);
     }

    public void addRowToTable(DataBean data) {
       // add row to table from data 
    }
}

public class MyDialog extends JDialog {
    // Dialog display code

    DataBean data = new DataBean();
    // populate DataBean object from dialog fields
    // dispose dialog
    // call method to pass
    ((MyFrame)getOwner()).addRowToTable(data);
}

希望这有帮助。