#acl All: == イベントドリブン == GUI用いたプログラムは複数のスレッドで動作しています。 ボタンを押すなどのアクションやイベントに対して処理が行われます。 . {{attachment:event1.png}} イベントが発生するとその情報はイベントキューに入れられ、 イベントの内容に対応するイベントリスナに処理を委ねられます。 ---- === インターフェース === リスナを作成するにはインターフェースを利用します。 . インターフェースは実体の無いクラスと考えられます。 . インターフェースはクラス図では点線を使って表します。 . {{attachment:interface.png}} インターフェースでは、どのようなメソッドが必要かなどインターフェースだけが指定されています。 インターフェースを継承してクラスを作成するときには、 インターフェースで指定されているメソッドをすべて記述しなければなりません。 これを'''実装'''といいます。 ---- === 例 === 画像を表示するプログラムにマウスイベントを追加します。 作成するクラスはJPanelと!MouseListenerの2つの親を持たなければなりません。 . {{attachment:event2.png}} Javaではスーパークラスとして指定できるのは1つだけです。 . JPanelクラスを継承することは次のように書きました。 . extends JPanel . インターフェースは次のように実装の指定として書きます。 . implements !MouseListener {{{ public class Lesson11 extends JPanel implements MouseListener { ... } }}}