1

私の問題も解決策を探しています。現在JFrames、netbeans プロジェクトには 2 つと 1 つのユーティリティ クラスがあります。私はJavaの専門家ではないので、ご容赦ください。Java ドキュメントとこのサイトを調べてみましたが、問題の解決策が見つからないようです。

シナリオは次のとおりです。

私のランチャー クラスはJFrame呼び出されたMainForm.javaを起動し、フォームを起動してコンポーネントを画面上に初期化します。このフォームには、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にかなり慣れていないため、明確にする必要がある場合はお知らせください。明確にするために最善を尽くします。

4

1 に答える 1

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 クラスで目的のメソッドを呼び出すことができます。

于 2013-06-06T16:38:01.727 に答える