私はクラスClient.Function1()を持つクライアントを持っていると言う。 LoginGUIクラスのJButtonをClientクラスのFunction1にするにはどうすればよいですか?JButton actionPerformed別のクラス
LoginGUIクラスのClientインスタンスを初期化したくありません。
私はクラスClient.Function1()を持つクライアントを持っていると言う。 LoginGUIクラスのJButtonをClientクラスのFunction1にするにはどうすればよいですか?JButton actionPerformed別のクラス
LoginGUIクラスのClientインスタンスを初期化したくありません。
シングルトンクラスでアクションリスナーを使用する方法を示します。
class Client implements ActionListener {
private static Client instance = new Client();
public static Client getInstance() { return instance; }
public void actionPerformed(ActionEvent e) {
// do the thing you want to do here.
}
}
そして、あなたがJButton
作成するとき:
JButton b = new JButton();
// configure your button here...
b.addActionListener(Client.getInstance());
をそれはそれと同じくらい簡単です。
ボタンを押したときにUIや内容を変更したい場合はどうすればよいですか?
別のアクションリスナーを追加するだけです!
まず、GUIクラスのメソッドを作成し、ボタンが押されたときにUIでやりたいものは何でも書く:その後
public void actionPerformed(ActionEvent e) {
// do stuff
}
、GUIクラスはActionListener
を実装します。
b.addActionListener(this);
これは本当にありがとうございます。正確に私が必要としたもの。 –
メイク 'Client'多分シングルトン:
はその後、ちょうど別のアクションリスナーを追加しますか?とにかく 'Client'を初期化したくないのはなぜですか? – Sweeper
My Clientクラスは一度だけ初期化する必要があります。これは、ソートのリモートサーバー接続を行います。 GUIでクライアントを初期化することはできますが、その優れた設計構造ですか? –
その場合、シングルトンのパターンを調べることを強くお勧めします。オンラインで検索! – Sweeper