@adrien.waters
Для получения координат мыши относительно окна приложения можно использовать методы класса MouseEvent:
1 2 3 4 5 6 7 8 9 10 |
import java.awt.event.MouseEvent; ... public void mouseClicked(MouseEvent e) { int x = e.getX(); // координата X относительно компонента int y = e.getY(); // координата Y относительно компонента int x_abs = e.getXOnScreen(); // координата X на экране int y_abs = e.getYOnScreen(); // координата Y на экране } |
Для получения координат относительно окна приложения необходимо вычесть из координат на экране координаты верхнего левого угла окна приложения:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import javax.swing.JFrame; ... public class MyFrame extends JFrame { public MyFrame() { // инициализация фрейма // добавление слушателя событий мыши addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { int x_abs = evt.getXOnScreen(); int y_abs = evt.getYOnScreen(); int x_rel = x_abs - getX(); int y_rel = y_abs - getY(); System.out.println("Координаты мыши относительно окна: " + x_rel + ", " + y_rel); } }); } ... } |