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 件のコメント:
コメントを投稿