2017-10-17 10 views
0

マウスが矩形(またはウィンドウ上のいくつかの座標)の上を移動するたびにトリガされるmouseListenerを作りたいと思います。私はのmouseEnteredを使用して考えたが、あなたは動作しませんでしたが、もちろん(私はgraphics2D矩形にmouseListenerを追加する方法

public void mouseEntered(MouseEvent e) { 
    int mx = e.getX(); 
    int my = e.getY(); 

    if(mx >= 1000/2 && mx <= 1000/2 + 380) { 
     if(my >= 300 && my <= 390) { 
      System.out.println("test"); 
     } 
    } 

} 

をしようとした相続人はどのような)画面ではなく、長方形など、上にマウスを移動するとことにのみトリガされます。 おそらくこのような質問があることは知っていますが、私はそれを見つけることができず、私の質問に正確に合致するものは見つけられませんでした。

EDIT:mousEnteredが間違っていて、実際にはマウスが移動したことに気付きました! HERESにコード:

https://docs.oracle.com/javase/tutorial/uiswing/events/mouselistener.html

そして、この:

public void mouseMoved(MouseEvent e) { 
    int mx = e.getX(); 
    int my = e.getY(); 

    if(mx >= 1000/2 && mx <= 1000/2 + 380) { 
     if(my >= 300 && my <= 390) { 
      System.out.println("test"); 
     } 
    } 
} 

答えて

0

はこれを見てください

mouseEntered will not execute

をあなたはいくつかの有用なメモや答えを見つける必要があります!また、 "mx"と "my"をコンソールに印刷して、正しい座標を持っていることを確認してください。

+0

実際には助けられませんでしたが、ウィンドウの代わりにマウスが四角形を入力すると、mouseEnteredメソッドがトリガされます。 –

関連する問題