Java Appletの解説
<13.マウソの操作方法>
マウスの操作の基本を説明したいと思います。
1.MouseListenerイベントリスナークラス
MouseListenerクラスには、5種類の処理があります。
1.<Javaファイル>
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class tmous3 extends Applet{
Image imgs;
int px,py;
int count=0,start=2;
Graphics g;
public void init(){
imgs=getImage(getDocumentBase(),"peke4.gif");
addMouseListener(
new MouseAdapter(){
public void mouseClicked(MouseEvent e){
count=count+1;repaint();}
public void mouseEntered(MouseEvent e){
count=0;start=1;repaint();}
public void mouseExited(MouseEvent e){
start=0;px=0;py=0;repaint();}
public void mousePressed(MouseEvent e){
px=e.getX();py=e.getY();repaint();}
public void mouseReleased(MouseEvent e){
px=e.getX();py=0;repaint();}
} );}
public void paint(Graphics g){
g.drawImage(imgs,px,py,this);
g.setFont(new Font("TimesRoman",Font.BOLD,16));
if (start==0){g.drawString("カウント終了",120,350);}
else if(start==1){g.drawString("カウント中",120,350);}
g.drawString("クリックされた回数"+count,120,370);
}}
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
例1.ここをクリックして下さい。
2.<解説>
1)MouseListenerクラスの5種類の処理
mouseClicked、mouseEntered、mouseExited、mousePressed、mouseReleasedの5種類の処理があります。
2)mouseClicked
マウスが画面上でクリックされた時の処理です。count=count+1;とクリックされた回数を数えます。
3)mouseEntered
マウスの矢印が画面上に入った時の処理です。count=0;start=1;カウントを0にセットして、カウントスタートの状態start=1;
にします。
4)mouseExited
マウスの矢印が画面上から出た時の処理です。start=0;px=0;py=0;カウント終了の状態にして、初期状態の場所に絵を表示
します。
5)mousePressed
マウスボタンが押された時の処理です。マウスボタンが押された時のX座標(e.getX();)Y座標(e.getY();)
絵はボタンが押されている状態でその場所に表示されます。
6)mouseReleased
マウスボタンが放された時の処理です。px=e.getX();py=0;X座標は同じ場所ですが、Y座標は0です。
7)if (start==0){g.drawString("カウント終了",120,350);}
else if(start==1){g.drawString("カウント中",120,350);}
g.drawString("クリックされた回数"+count,120,370);
マウスの矢印が画面上から出た時、"カウント終了"を表示。
マウスの矢印が画面上に入った時、"カウント中"を表示。
startの初期値を2にしているのは、一番初めから"カウント終了"と表示されないようにするためです。
2.MouseMotionListenerイベントリスナークラス
MouseMotionListenerには、2種類の処理があります。
1.<Javaファイル>
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class tmous4 extends Applet{
Image imgs;
int px,py;
int start=2;
Graphics g;
public void init(){
imgs=getImage(getDocumentBase(),"peke4.gif");
addMouseMotionListener(
new MouseMotionAdapter(){
public void mouseMoved(MouseEvent e){
start=0;px=170;py=e.getY();repaint();}
public void mouseDragged(MouseEvent e){
start=1;px=e.getX();py=170;repaint();}
}); }
public void paint(Graphics g){
g.drawImage(imgs,px,py,this);
g.setFont(new Font("TimesRoman",Font.BOLD,16));
if (start==0){g.drawString("Y軸移動",120,370);}
else if(start==1){g.drawString("X軸移動",120,370);}
}
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
例2.ここをクリックして下さい。
2.<解説>
1)MouseMotionListenerの2種類の処理
mouseMoved、mouseDraggedの2種類の処理があります。
2)mouseMoved
画面上をマウスの矢印が移動した時の処理です。例ではX座標を170に固定して
Y座標のみマウスの位置で移動させます。
3)mouseDragged
マウスボタンを押して移動した時の処理です。例ではY座標を170に固定して
X座標のみマウスの位置で移動させます。
娯楽室の各部屋