如何从JDialog访问JFrame的方法?

时间:2017-01-03 17:38:41

标签: java swing jframe jdialog

我有我的主JFrame和另外一个JDialog。 如果用户单击该按钮,我希望JDialog从此JFrame调用方法(其中包含此JFrame中ComboBox的一些操作)。 我怎样才能做到这一点? 我不想使用MyJFrame form = new MyJFrame();因为它会创建一个我不想做的新JFrame,我想从当前在我的计算机上运行的JFrame调用方法。 感谢。

2 个答案:

答案 0 :(得分:1)

假设JButton上有JDialog

如果两者都属于同一类,为什么不这样做呢?

button.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        //I just got clicked
        form.doSomething();
    }
});

可以缩短为

button.addActionListener(e -> form.doSomething());

如果他们不是,并且您正在扩展JDialog(我不建议)只需在其构造函数中传递JFrame,那么您的对话框将会有访问它。

如果不看到更多代码,就无法添加更多内容。

答案 1 :(得分:0)

也许JOptionPane.showInputDialog(),显示一个JDialog来接收来自User的输入。