4

ボタンを使用して、ウィンドウで実行されるアクションを制御しようとしています。これを行うために、文字列を返してプログラム全体にコマンドを与えようとしています。これまでのところ、このコードを機能させることができました:

@Override
public void actionPerformed(ActionEvent e) {
    setCommand(e.getActionCommand());
}

public void setCommand(String g){
    command = g;
    getCommand();
}

public String getCommand() {
    return command;
}

ただし、別のクラスでこれを行うと、何も起こりません:

System.out.print(button.getCommand());

私は何か間違ったことをしていますか、それとも単に間違ったソリューションを使用していますか?

4

2 に答える 2

2

ご覧のとおりactionPerformed()、戻り値の型があります...そして、インターフェイスからオーバーライドしてvoidいるそのメソッド...そのため、そこから文字列を返すことはできません ActionListener

于 2012-08-26T11:57:05.050 に答える
1

メソッドから何かを返すことはできませんactionPerfomed()が、代わりに、そのボタンが押されたときに必要なことを実行する他のメソッドを呼び出すことができます。

特定のボタンが押されたことを他のビジネス ロジックに通知する場合は、Observer パターンを使用することをお勧めします。

于 2012-08-26T12:02:56.803 に答える