ホームページ >Java >&#&チュートリアル >Java のボタンクリックイベントの処理方法の詳細な説明
次のエディターは、Java でボタンのクリック イベントを処理する方法に関する記事を提供します。編集者はこれが非常に良いものだと思ったので、皆さんの参考として今から共有します。エディターに従って、さまざまなイベント ソースがさまざまなタイプのイベントを生成できることを見てみましょう。たとえば、ボタンは ActionEvent オブジェクトを送信でき、ウィンドウは WindowEvent オブジェクトを送信できます。
AWT 時間処理メカニズムの概要:
1. リスナー オブジェクトは、特定のリスナー インターフェイスを実装するクラスのインスタンスです。
2. イベントソースは、リスナーオブジェクトを登録し、イベントオブジェクトを送信できるオブジェクトです。
3. イベントが発生すると、イベント ソースは登録されているすべてのリスナーにイベント オブジェクトを渡します。
4. リスナー オブジェクトは、イベント オブジェクト内の情報を使用して、イベントへの応答方法を決定します。
リスナーの例を次に示します:
ActionListener listener = ...; JButton button = new JButton("OK"); button.addActionListener(listener);
ActionListener インターフェースを実装するには、リスナー クラスに、ActionEvent オブジェクト パラメーターを受け取る actionPerformed というメソッドが必要です。
class MyListener implements ActionListener { ...; public void actionPerformed(ActionEvent event) { //reaction to button click goes here } }
例: ボタン クリック イベントの処理 イベント委任モデルの理解を深めるために、知っておく必要がある詳細を説明するために、ボタン クリック イベントに応答する簡単な例を次に示します。この例では、パネルに 3 つのボタンを配置し、ボタンのアクション リスナーとして機能する 3 つのリスナー オブジェクトを追加します。
この場合、ユーザーがパネル上のいずれかのボタンをクリックしている限り、関連するリスナー オブジェクトは、ボタンがクリックされたことを示す ActionEvent オブジェクトを受け取ります。サンプルプログラムでは、リスナーオブジェクトによりパネルの背景色が変更されます。
ボタンのクリック イベントをリッスンする方法を説明する前に、まずボタンの作成方法とパネルにボタンを追加する方法を説明する必要があります。
ボタンコンストラクターでラベル文字列、アイコン、またはその両方を指定することでボタンを作成できます。以下に 2 つの例を示します:
JButton yellowButton = new JButton("Yellow"); JButton blueButton = new JButton(new ImageIcon("blue-ball.gif"));
JButton yellowButton = new JButton("Yellow"); JButton blueButton = new JButton("Blue"); JButton redButton = new JButton("Red"); buttonPanel.add(yellowButton); buttonPanel.add(blueButton); buttonPanel.add(redButton);
public void actionPerformed(ActionEventevent)
ボタンがクリックされたとき、パネルの背景色を指定した色に設定したいとします。この色はリスナー クラスに保存されます:
class ColorAction implements ActionListener { public ColorAction(Color c) { backgroundColor = c; } public void actionPerformed(actionEvent event) { //set panel background color } private Color backgroundColor; }
ColorAction yelloAction = new ColorAction(Color.YELLOW); ColorAction blueAction = new ColorAction(Color.BLUE); ColorAction redAction = new ColorAction(Color.RED); yellowButton.addActionListener(yellowAction); blueButton.addActionListener(blueAction); redButton.addActionListener(redAction);
考慮すべきもう 1 つの質問があります。 ColorAction オブジェクトは buttonpanel 変数にアクセスできません。この問題は 2 つの方法で解決できます。 1 つは、パネルを ColorAction オブジェクトに格納し、ColorAction のコンストラクターに設定する方法です。もう 1 つは、ColorAction を ButtonPanel クラスの内部クラスにして、そのメソッドが外部パネルに自動的にアクセスできるようにする方法です。
以下では、ButtonFrameクラス内にColorActionクラスを配置する方法を説明します。
りー
以上がJava のボタンクリックイベントの処理方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。