2017-12-14 11 views
0

average変数に平均が含まれる平均化プログラムを作成しました。グラフィカルユーザーインターフェイスで値を印刷したいのですが、GUIは別のクラスにあります。変数を取得して別のクラスに渡す

私の別のクラスでは、変数 "平均"が得られないようです。私は「記号を見つけることができません」という平均値を得ています。ここに私のコードは次のとおりです。

System.out.println("this is the average: "+ average); 
// this perfectly prints out the average from the 
// class "public void test" and the method "calcAverage" 

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { 
    // this is my button in a different class where I want 
    // my average to append to (print to the GUI) - and my 
    // obviously non-working attempt at it 
    JTextArea.append (test.calcAverage(average)); 
} 
+1

エラーメッセージは何ですか?あなたはどんなふるまいをしていますか?あなたの期待する結果は何ですか? 'getAverage()'メソッドのような)平均を返す 'test'クラスのメソッドを持っていますか? – AntonH

+1

あなたのGUIクラスはこのクラスに変数を要求する必要があります。 'myClass1.getAverage()'のようなもので、Class1では変数を返すメソッドがあります。 – csmckelvey

+0

getAverage()のテストクラスでメソッドを作成すると、 "シンボル - 変数の平均を見つけることができません"というエラーが表示されます - これは私が持っているすべてですが、これは間違っていますか? 'public double getAverage(){ リターン平均; } ' –

答えて

0

私は平均が私のグラフィカル・ユーザ・インタフェース、 でプリントアウトしたいが、私のGUIは別のクラスです。

guiクラスが、情報を視覚的に更新できるようにするコールバックメソッドを提供するようにします。 Swingで

MyFrameCallbackがある

public MyFrame extends JFrame implements MyFrameCallback{ 

    public void updateAverage(double average){ 
     ... // update the graphical widget 
    } 
} 

インタフェースなど:今では私たちは、MyAverageModelを呼び出し、そのコンストラクタでMyFrameCallbackを追加するモデルクラスを作成するよう

public interface MyFrameCallback{ 
    void updateAverage(double average); 
} 

public MyAverageModel (MyFrameCallback myFrameCallback){ 
    this.myFrameCallback = myFrameCallback; 
} 

今度はア年齢をMyAverageModelに設定すると、GUIのコールバックを呼び出すことができます。

public calculAndUpdateAverage(){ 
    ... 
    double average = ...; 
    myFrameCallback.updateAverage(average); 
} 
+0

これを試してみて、どこにでもエラーがあります。確かに他の場所の変数を単純に出力する方がずっと簡単です。それにもかかわらず、あなたの時間をありがとう。 –

+0

私はあなたにきれいな方法を与えました。 'calcAverage()'を静的に静的にすることもできます。 – davidxxx

+0

私はできません。それは私の配列が機能しなくなります。 –

関連する問題