連載
» 2006年08月19日 00時00分 公開

SwingでJavaに強くなる(4):Swingのイベント処理を知る (1/2)

 第2回、第3回とボタンやテキストフィールドを使ったGUIアプリケーションの構築手順を紹介してきました。今回は「ボタンをクリック(アクション)したときに、GUIアプリケーションがどう振る舞うのか」をプログラミングする方法について紹介していきます。

[酒井貴規,株式会社シンプレクス・テクノロジー]

イベント処理とは

 アプリケーションの利用者は、GUIコンポーネントを操作することで、アプリケーションが何らかの処理を実行することを期待しています。そのため、アプリケーションの開発者は、

  1. 利用者の操作を何らかの手段で検知する
  2. アプリケーションがどう振る舞うべきかを状況に応じて判断する
  3. 利用者の期待する処理を実行する

という一連の作業をプログラミングする必要があります。しかし、これらの処理を一からプログラミングするのは大変です。そのため、Swingにはこの一連の作業を簡単にプログラミングできるような仕組みであるイベント処理のモデル(アクション、イベント、アクション・リスナー)があらかじめ用意されています。

アクション

 GUIコンポーネント(ボタン、テキストフィールド、メニュー等)に対して利用者が行う操作を「アクション」といいます。例えばボタンをクリックする、メニューを選択するといった、利用者の操作をアクションといいます。

イベント

 利用者が操作した事実および利用者の操作に関する情報を保持するオブジェクトを[イベント]といいます。このイベントはコンポーネントに対してアクションが行われるたびに生成されます。例えばAボタンがクリックされた、Bボタンがクリックされた、メニュー「ファイル」が選択された、といったアクションを行うと、コンポーネントはその事実や情報を保持するためのクラス「java.awt.event.ActionEvent」のインスタンスを生成します。

アクション・リスナー

 利用者の操作に応じて一定の処理を行うインターフェイスを「アクション・リスナー」といいます。アクション・リスナーはインターフェイス「java.awt.event.ActionListener」であるため、具体的な処理を記述できません。そのため、例えば音を鳴らす、ダイアログボックスを表示する、といった具体的なアプリケーションの処理はそのインターフェイスを実装した具象クラスのメソッド(actionPerformed)にプログラミングすることになります。

図1 Swingのイベント処理のモデル 図1 Swingのイベント処理のモデル
       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。