システムエンジニアリング演習

システムエンジニアリング演習
ライブラリを利用したGUIの実現(1)
イベント処理
10月29日
GUIとは?
◆GUI → Graphical User Interface
ボタン,ラベル,メニューなど
◆API → Application Programming Interface
AWT:Abstract Windows Toolkit
SWING:AWTの基本構造を継承している.
AWTの機能を拡張した.
Java 2から採用.
AWT
◆使い方
import パッケージ名.クラス名;
指定したパッケージの指定したクラスをロード.
import パッケージ名.*;
指定したパッケージに含まれる全てのクラスを
ロード.
◆主要なAPIパッケージ
●パッケージ名: java.awt
描画,GUI部品関係,Graphics,Image,
Buttonなどのクラスが含まれる.
AWT
●パッケージ: java.awt.event
イベント処理関係.ActionEvent,
MouseEvent などのクラスが含まれる.
●パッケージ:java.awt.image
イメージ処理関係.ImageFilter,
ImageObserver などのクラスが含まれる.
java.awt.color, java.awt.datatransfer, java.awt.dnd,
java.awt.font, java.awt.geom, java.awt.im,
java.awt.im.spi, java.awt.image.renderable,
java.awt.print
GUI
• アプレットGUI
Web文書に埋め込まれて,javaをサポー
トするブラウザ上でWebを表示するときに
実行されるプログラム.
• アプリケーションGUI
アプレットを使わずに,「JFrame」のサブ
クラスによって作るプログラム.
イベントとは?
◆「キーが押された」、「マウスが移動した」のよう
な事象 → イベント(event)
◆オブジェクトの集合 → イベントの発生を監視
↓発生!!
対応するメソッドに分岐
イベントドリブン・プログラム
イベントの発生源 → イベントソース
イベントリスナとアダプタ
◆イベント処理の設定 → イベントが発生する
オブジェクトにリスナ
イベントリスナ
オブジェクトを組み
イベントを処理するため
込む.
のクラス
リスナオブジェクト
「ある作業に最も適した
にはイベント処理を
定義する.
◆アダプタ → イベントリスナにイベント処理
メソッドを定義するためのクラス.
オブジェクトがその作業を
担当する.」
イベント処理の設定
●一般的なイベント処理の設定
add イベントリスナクラス名 (new アダプタクラス名( ) {
public void イベント処理メソッド名(イベントクラス名 e) {
・
・
・
}
});
イベントクラス名,イベントリスナクラス名,アダプタクラス
名,イベント処理メソッド名はそれぞれグループ化される.
マウスイベントとキーイベント
マウスイベント及びキーイベント処理用のクラスとメソッド
イベントクラス名
イベントリスナクラス名
MouseEvent
MouseListener
MouseAdapter
MouseMotionListener
MouseMotionAdapter
KeyListener
KeyAdapter
KeyEvent
アダプタクラス名
イベント処理メッソド名
mouseClicked
mouseEntered
mousePressed
mouseReleased
mouseDragged
mouseMoved
keyPressed
keyReleased
keyTyped
KeyEventクラスのキー定数
定数
キー
定数
キー
定数
キー
VK_A~VK_Z
A~Z
VK_ENTER
Enterキー
VK_PAGE_DOWN
PgDnキー
VK_0~VK_9
0~9
VK_F1~VK_F2
ファンクション
キー
VK_PAGE_UP
PgUpキー
VK_DOWN
下矢印
キー
VK_HOME
Homeキー
VK_RIGHT
右矢印キー