从另一个JFrame调用JFrame方法

时间:2013-06-06 16:28:29

标签: java swing methods jframe multiple-instances

我也希望找到解决方案。目前我的netbeans项目中有2个JFrames和1个实用程序类。我不是java的专家所以请耐心等待。我试过浏览java文档和在这个网站上但似乎找不到解决我的问题的方法。

以下是该方案:

我的启动器类启动表单中名为 MainForm.java JFrame,然后将组件初始化到屏幕上。在这个表单上,我有一个按钮,可以启动一个名为 ConfigEditor.java 的新表单。此表单用于编辑配置文件。我在此表单上有一个保存按钮,我基本上想要做的是点击保存后获取 MainForm.java 来调用方法来填写正确的组件用新的价值观。

下面是一个例子,下面是 ConfigEditor.java 上我的保存按钮中的一些代码:

if(reply == JOptionPane.YES_OPTION){
        try {
            Utilities.writeConfigFileBasic(ExecutionLists.getText(),DefaultResultsFile.getText(), 
                    DefaultTestDir.getText(), Environments.getText(), ResultsViewerFile.getText());
            ConfigTextArea.append(Utilities.readConfigFile());
            JOptionPane.showMessageDialog(rootPane, "Saved");

现在就在最后一行之后,我想调用像MainForm.initMyComponents()这样的东西;因为此方法存在于MainForm JFrame中,但它不会让我称之为。该方法的目的是使用从配置文件中提取的数据填充一些字段。 如果我没有很好地解释,我很抱歉,如果你需要任何澄清,我对Java很新,请告诉我,我会尽力澄清它。

1 个答案:

答案 0 :(得分:2)

在构造时,您可以简单地将MainForm的引用传递给ConfigEditor吗?例如:

... //Code fired by clicking the button you mentioned which is in class MainFrame
ConfigEditor configEditor = new ConfigEditor(this); //This would be a reference to your MainFrame

使用此引用,您可以在MainFrame类中调用所需的方法。