welcome: please sign in
location: "イベントドリブン"の差分
2と11のリビジョン間の差分 (その間の編集: 9回)
2009-12-04 01:15:39時点のリビジョン2
サイズ: 73
編集者: masahiko
コメント:
2009-12-04 01:53:31時点のリビジョン11
サイズ: 1761
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 3: 行 3:
GUI用いたプログラムは複数のスレッドで動作しています。

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

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

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

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

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

インターフェースを継承してクラスを作成するときには、
インターフェースで指定されているメソッドをすべて記述しなければなりません。
これを'''実装'''といいます。
----
=== 例 ===
画像を表示するプログラムにマウスイベントを追加します。

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

 . {{attachment:event2.png}}
Javaではスーパークラスとして指定できるのは1つだけです。
 . JPanelクラスを継承することは次のように書きました。
   . extends JPanel
 . インターフェースは次のように実装の指定として書きます。
   . implements mouseListener
 {{{
 public class Lesson11 extends JPanel implements mouseListener
 {
    ...
 }
 }}}

イベントドリブン

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

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

  • event1.png

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


インターフェース

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

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

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

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


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

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

  • event2.png

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

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

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