- Home ›
- Applet(アプレット)入門 ›
- イベント処理 ›
- HERE
MouseListener
広告
ではまずマウスのクリックなどを取り扱うMouseListenerについて見ていきます。MouseListenerの場合のリスナーとメソッドの関係は下記の通りです。
実装するリスナー MouseListener リスナーの登録 addMouseListener 発生するイベント MouseEvent 呼ばれるメソッド mouseEntered(MouseEvent e) マウスがアプレットの上に乗った mouseExited(MouseEvent e) マウスがアプレットの外へ出た mousePressed(MouseEvent e) マウスが押された mouseReleased(MouseEvent e) マウスが押された状態から離された mouseClicked(MouseEvent e) マウスがクリックされた
基本的な使い方などは前のページで見た通りです。
サンプルプログラム
では簡単な例で試してみましょう。各イベントに応じてアプレット上にイベントの種類を表示させるようにしてみます。
import java.applet.Applet; import java.awt.Graphics; import java.awt.event.MouseListener; import java.awt.event.MouseEvent; /* <applet code="EventTest1.class" codebase="class" width="300" height="100"> </applet> */ public class EventTest1 extends Applet implements MouseListener{ String msg1, msg2, msg3; public void init(){ msg1 = ""; msg2 = ""; msg3 = ""; addMouseListener(this); } public void paint(Graphics g){ g.drawString(msg1, 10, 20); g.drawString(msg2, 30, 50); g.drawString(msg3, 30, 80); } public void mouseEntered(MouseEvent e){ msgChange("mouseEntered"); repaint(); } public void mouseExited(MouseEvent e){ msgChange("mouseExited"); repaint(); } public void mousePressed(MouseEvent e){ msgChange("mousePressed"); repaint(); } public void mouseReleased(MouseEvent e){ msgChange("mouseReleased"); repaint(); } public void mouseClicked(MouseEvent e){ msgChange("mouseClicked"); repaint(); } private void msgChange(String msg){ msg3 = msg2; msg2 = msg1; msg1 = msg; } }
下記で実際に試して頂くことができます。
外部からアプレット上にマウスが入ってきた時
アプレット上でマウスを押した時
アプレット上でマウスを離した時。離したと同時にクリックが行われたと判断されるので、mouseReleasedとmouseClickedが2つ呼ばれます。
アプレット上からマウスが離れた時
( Written by Tatsuo Ikura )