welcome: please sign in
location: "イベントドリブン"の差分
12と13のリビジョン間の差分
2009-12-04 01:54:28時点のリビジョン12
サイズ: 1763
編集者: masahiko
コメント:
2009-12-04 01:59:34時点のリビジョン13
サイズ: 2163
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 25: 行 25:
---- -----
行 29: 行 29:
=== クラスの定義 ===
行 43: 行 44:
----
=== リスナの指定 ===
このインスタンスがイベントリスナとなることを指定します。

インスタンスが作成されたときに指定すればよいので、コンストラクタ内にaddMouseListenerを追加します。
 {{{
 Lesson11()
 {
    ...
    addMouseListener(this);
 }
 }}}
----
=== メソッドの記述 ===

イベントドリブン

GUI用いたプログラムは複数のスレッドで動作しています。

ボタンを押すなどのアクションやイベントに対して処理が行われます。

  • event1.png

イベントが発生するとその情報はイベントキューに入れられ、 イベントの内容に対応するイベントリスナに処理を委ねられます。


インターフェース

リスナを作成するにはインターフェースを利用します。

  • インターフェースは実体の無いクラスと考えられます。
  • インターフェースはクラス図では点線を使って表します。
  • interface.png

インターフェースでは、どのようなメソッドが必要かなどインターフェースだけが指定されています。

インターフェースを継承してクラスを作成するときには、 インターフェースで指定されているメソッドをすべて記述しなければなりません。 これを実装といいます。


画像を表示するプログラムにマウスイベントを追加します。

クラスの定義

作成するクラスはJPanelとMouseListenerの2つの親を持たなければなりません。

  • event2.png

Javaではスーパークラスとして指定できるのは1つだけです。

  • JPanelクラスを継承することは次のように書きました。
    • extends JPanel
  • インターフェースは次のように実装の指定として書きます。
    • implements MouseListener

     public class Lesson11 extends JPanel implements MouseListener
     {
        ...
     }


リスナの指定

このインスタンスがイベントリスナとなることを指定します。

インスタンスが作成されたときに指定すればよいので、コンストラクタ内にaddMouseListenerを追加します。

  •  Lesson11()
     {
        ...
        addMouseListener(this);
     }


メソッドの記述

イベントドリブン (最終更新日時 2010-12-18 12:54:39 更新者 masahiko)