0

私の質問は少し複雑で、私のプログラムは少し大きいので、ここにすべてを置くことはできません。とにかく、ここに問題の説明があります:プログラムにはJTextFieldとJTextAreaがあります。ユーザーがgetTextとaddActionListenerを使用して単語を検索すると、入力した単語がアクションリスナーに送信され、アクションリスナーで結果が検索されてコマンドラインに出力されます。しかし、アクションリスナーがJTextAreaがある前のクラスにそれを送り返すようにしたいです。検索結果をテキスト領域に表示します。

したがって、検索部分にはsystem.print.out()コードがありますが、何かを置き換えて返送する必要があります。

それで、何か考えはありますか?前もって感謝します。

4

3 に答える 3

1
public void actionPerformed(ActionEvent e) {
    String result = search(textField.getText());
    textArea.append(result);
}
于 2013-02-11T21:52:59.547 に答える
0

actionListenerが完全に新しいクラスである場合は、基本クラス(つまり、guiElementsを含むクラス)をパラメーターとして(できれば初期化時に)指定することから始める必要があります。イベントがトリガーされます。


この方法でactionlistenerを宣言した場合

guielement.addsomeactionlistener(new actionlistener{ implementable methods});


初期化時に基本クラスを指定せずに、基本クラスのメソッドを呼び出すだけです。

于 2013-02-11T21:56:44.493 に答える
0

JTextAreaを保持するクラスには、文字列を渡すことができるパブリックメソッドが必要であると言う以外に、プログラムの構造について詳しく知らずにこの質問に答える方法はないと思います。 JTextAreaへの文字列。参照が必要なクラスが正しいオブジェクトへの有効な参照を持っていることを確認して、必要なときにそれらのオブジェクトで適切なメソッドを呼び出すことができるようにすることがすべてです。ActionListenerがJTextAreaを保持しているクラスへの参照を取得する方法は、プログラムの構造に完全に依存します。

于 2013-02-11T21:53:46.893 に答える