| mouseClicked | マウスボタンをクリックしたときに発生する |
|---|---|
| mouseEntered | マウスボタンが領域内に入った時に発生する |
| mousePressed | マウスボタンが領域外に出たときに発生する |
| mouseReleased | マウスボタンが放されたときに発生する |
MouseMotionListener
| mouseDragged | マウスがドラッグされている間、常に発生し続ける |
|---|---|
| mouseMoved | マウスが動かされている間、常に発生する |
MouseWheelListener
| mouseWheelMove | マウスが回転される間、常に発生する |
|---|
package MyPackage1;
import java.awt.*;
import java.awt.event.*;
public class MouseEventSample01 {
/*
* エントリーポイント
*/
public static void main(String args[]){
new MouseEventSample01();
}
Frame frm;
Label lbl1;
/*
* コンストラクタ
*/
public MouseEventSample01(){
//フレームを作成します。
frm = new Frame("MouseEventSample01");
frm.setSize(300,300);
frm.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent ev){
System.exit(0);
}
});
//フレームにイベントリスナーを追加します。
frm.addMouseListener(new MouseAdapter_frm());
frm.addMouseMotionListener(new MouseMotionAdapter_frm());
frm.addMouseWheelListener(new MouseWheelAdapter_frm());
//ラベルを作成します。
lbl1 = new Label();
//フレームにコンポーネントを追加します。
frm.add(lbl1,BorderLayout.NORTH);
//フレームを表示します。
frm.setVisible(true);
}
/*
* フレームのMouseListener
*/
private class MouseAdapter_frm implements MouseListener{
@Override
public void mouseClicked(MouseEvent arg0) {
//マウスボタンをクリックしたときに発生する
if (arg0.getClickCount() == 1) {
lbl1.setText("mouseClick:SingleClick X=" + arg0.getX() + " Y="+ arg0.getY());
}else if (arg0.getClickCount() == 2) {
lbl1.setText("mouseClick:DoubleClick X=" + arg0.getX() + " Y="+ arg0.getY());
}
}
@Override
public void mouseEntered(MouseEvent arg0) {
// マウスボタンが領域内に入った時に発生する
}
@Override
public void mouseExited(MouseEvent arg0) {
// マウスボタンが領域外に出たときに発生する
}
@Override
public void mousePressed(MouseEvent arg0) {
// マウスボタンが押されたときに発生する
}
@Override
public void mouseReleased(MouseEvent arg0) {
// マウスボタンが放されたときに発生する
}
}
/*
* フレームのMouseMotionListener
*/
private class MouseMotionAdapter_frm implements MouseMotionListener{
@Override
public void mouseDragged(MouseEvent arg0) {
// マウスがドラッグされている間、常に発生し続ける
}
@Override
public void mouseMoved(MouseEvent arg0) {
// マウスが動かされている間、常に発生する
lbl1.setText("mouseMoved:X=" + arg0.getX() + " Y="+ arg0.getY());
}
}
/*
* フレームのMouseWheelAdapter
*/
private class MouseWheelAdapter_frm implements MouseWheelListener{
@Override
public void mouseWheelMoved(MouseWheelEvent arg0) {
// マウスが回転される間、常に発生する
lbl1.setText("mouseWheelMoved:ホイール数=" + arg0.getWheelRotation());
}
}
}
MouseAdapterクラスはMouseListenerインターフェースを実装済みのクラスです。
MouseMotionAdapterクラスはMouseMotionListenerインターフェースを実装済みのクラスです。
各Adapterクラスはあらかじめ各Listenerを実装し、すべてのメソッドをオーバライド済みにしたクラスです。
必要なメソッドのみオーバーライドして使用できます。
※MouseWheelListenerインターフェースはJava2 1.4から導入されたものでを実装済みのクラスはありません。
package MyPackage1;
import java.awt.*;
import java.awt.event.*;
public class MouseEventSample02 {
/*
* エントリーポイント
*/
public static void main(String args[]){
new MouseEventSample02();
}
Frame frm;
Label lbl1;
/*
* コンストラクタ
*/
public MouseEventSample02(){
//フレーム作成します。
frm = new Frame("MouseEventSample02");
frm.setSize(300,300);
frm.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent ev){
System.exit(0);
}
});
//フレームにイベントリスナーを追加します。
frm.addMouseListener(new MouseAdapter_frm());
frm.addMouseMotionListener(new MouseMotionAdapter_frm());
//ラベルを作成します。
lbl1 = new Label();
//フレームにコンポーネントを追加します。
frm.add(lbl1,BorderLayout.NORTH);
//フレームを表示します。
frm.setVisible(true);
}
/*
* フレームのMouseAdapterリスナー
*/
private class MouseAdapter_frm extends MouseAdapter{
public void mouseClicked(MouseEvent ev) {
//マウスボタンをクリックしたときに発生する
if (ev.getClickCount() == 1) {
lbl1.setText("mouseClick:SingleClick X=" + ev.getX() + " Y="+ ev.getY());
}else if (ev.getClickCount() == 2) {
lbl1.setText("mouseClick:DoubleClick X=" + ev.getX() + " Y="+ ev.getY());
}
}
}
/*
* フレームのMouseMotionリスナー
*/
private class MouseMotionAdapter_frm extends MouseMotionAdapter{
public void mouseMoved(MouseEvent ev) {
// マウスが動かされている間、常に発生する
lbl1.setText("mouseMoved:X=" + ev.getX() + " Y="+ ev.getY());
}
}
}
0 件のコメント:
コメントを投稿