MouseMotionListenerというインターフェースを使います。
MouseMotionListenerを実装したクラスを、JFrameのaddMouseMotionListenerでウィンドウに追加すると、MouseMotionListenerを実装したクラスのMouseMotionListenerからオーバーライドしたメソッドが呼び出されます。
マウスの座標を調べるには、その中の、mouseMovedを使います。
このメソッドは、マウスが動くたびに呼び出されます。
この関数の引数のMouseEventはマウスの座標などのデータを持っています。
下の例だと、MouseEventの座標を取得して出力します。
「マウスが動いたタイミングじゃなくて、処理で必要になったときにマウスの座標が欲しいんだ」というときは、マウスが動いた時の座標を適当な変数に代入して、必要になったときにその変数の値を使うこともできます。
例
Main.java
java
1import javax.swing.JFrame;
2import java.awt.Dimension;
3import java.awt.event.MouseEvent;
4import java.awt.event.MouseMotionListener;
5
6public class Main implements MouseMotionListener{
7 public static void main(String[] args){
8 JFrame frame = new JFrame("title");
9 frame.setSize(new Dimension(700, 400));
10 frame.addMouseMotionListener(new Main()); //ここでframeにMouseMotionListenerを追加する。追加しないと使えない
11 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
12 frame.setVisible(true);
13
14 }
15
16 @Override
17 public void mouseDragged(MouseEvent e) { //マウスがドラッグされたときに呼び出される。今回は使わない
18 ;
19 }
20
21 @Override
22 public void mouseMoved(MouseEvent e) { //マウスが動いたときに呼び出される。
23 System.out.println(e.getX() + ", " + e.getY()); //e.getX()とe.getY()でマウスの座標を取得
24 }
25
26}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。