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