Java FAQ
|
アプレットにおいてマウスカーソルの座標を取得するにはどうすればよいですか。 |
また、マウス移動のイベントを取得するには、MouseMotionListenerの登録が必要です。もちろん、不要になった時点で解除も行わなければなりません。public class クラス名 extends Applet implements MouseMotionListener { // 中略 }
これらのメソッドでは、“マウスがドラッグされた”あるいは“マウスが移動した”場合に、何を実行すべきかといったアクションを定義します。public void mouseDragged(MouseEvent msEvt) // マウスがドラッグされた public void mouseMoved(MouseEvent msEvt) // マウスが移動した
/** マウスの現在位置の座標を表示 */ import java.applet.*; import java.awt.*; import java.awt.event.*; public class MousePosition extends Applet implements MouseMotionListener { static int xp = 0; static int yp = 0; //--- 初期処理 ---// public void init() { addMouseMotionListener(this); // MouseMotionListener登録 } //--- 終了処理 ---// public void destroy() { removeMouseMotionListener(this); // MouseMotionListener解除 } //--- 描画 ---// public void paint(Graphics grh) { grh.drawString(" (" + xp + "," + yp + ")", 20, 20); } //--- マウスがドラッグされた ---// public void mouseDragged(MouseEvent msEvt) { } //--- マウスが移動した ---// public void mouseMoved(MouseEvent msEvt) { xp = msEvt.getX(); yp = msEvt.getY(); repaint(); } }