Ex14_4



/*---------------------------
 Ex14_4.java
 マウスを使うよ:イベント処理
 ----------------------------*/
package jp_package;

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class Ex14_4 extends Applet implements MouseListener {
	int x, y, delta;	// メッセージ表示位置 (x, y) とズレ量 delta
	String msg;			// メッセージ用

	public void init() {	// 初期化
		this.setSize(300, 600);	// アプレット領域の設定
		addMouseListener(this);	// マウスイベントを自クラスで受け取る宣言
		x = 10;	y = 10;	delta = 15;
		msg = "";
	}

	public void update(Graphics g) {	// アプレット領域内をクリアせずに再描画
		paint(g);
	}

	public void paint(Graphics g) {
		g.drawString(msg, x, y);
		y += delta;
	}

	public void mouseEntered(MouseEvent e) {	// マウスがアプレット領域内に入った時の処理
		Point pt = e.getPoint();
		msg = " 侵入者発見! 警戒せよ!! ... (x, y) = (" + pt.x + ", " + pt.y + ")";
		repaint();
	}

	public void mouseExited(MouseEvent e) { 	// マウスがアプレット領域外へ出た時の処理
		Point pt = e.getPoint();
		msg = " 侵入者は去った。警報解除 ... (x, y) = (" + pt.x + ", " + pt.y + ")";
		repaint();
	}

	public void mousePressed(MouseEvent e) { }	// マウス・ボタン押下時処理

	public void mouseReleased(MouseEvent e) { }	// マウス・ボタン押下状態→放した時の処理

	public void mouseClicked(MouseEvent e) {	// マウスクリック時の処理
		Point pt = e.getPoint();
		msg = " ぐはぁっ。(" + pt.x + ", " + pt.y + ") を撃たれた。。。";
		repaint();
	}
}