Координаты мыши относительно кадра - PullRequest
6 голосов
/ 04 ноября 2011

Я пытаюсь нарисовать полигоны и хотел бы иметь возможность щелкнуть по моей рамке, чтобы получить координаты мыши, чтобы быстрее преобразовать мысленное изображение в значения х / у.

Я использую

System.out.println("("+ MouseInfo.getPointerInfo().getLocation().x +",
    "+ MouseInfo.getPointerInfo().getLocation().y +")"); 

но это дает мне координаты относительно моего реального экрана, а не моего окна Java.

Как сделать так, чтобы координаты отображались относительно окна Java?

Ответы [ 2 ]

13 голосов
/ 05 ноября 2011

Вы можете преобразовать координаты экрана и компонента, используя SwingUtilties class

Метод convertPointFromScreen возьмет экранную координату и преобразует ее в относительную величину по отношению к предоставленному вами компоненту.

5 голосов
/ 04 ноября 2011

Полагаю, вы добавили MouseListener в свой фрейм? Тогда вы можете просто получить относительные координаты с помощью MouseEvent.getPoint

frame.addMouseListener(new MouseAdapter() {
    void mouseClicked(MouseEvent e) {
        System.out.println(e.getPoint());
    }
});
...