我正在尝试绘制多边形,并希望能够单击我的框架以获取MouseCoordinates,以便更快地将mental Image转换为x / y值。
我正在使用
System.out.println("("+ MouseInfo.getPointerInfo().getLocation().x +",
"+ MouseInfo.getPointerInfo().getLocation().y +")");
但这给了我相对于我的实际屏幕的坐标,而不是我的java窗口。
如何使坐标相对于Java窗口显示?
答案 0 :(得分:13)
您可以使用SwingUtilties类
在屏幕和组件坐标之间进行转换convertPointFromScreen方法将采用屏幕坐标并将其转换为相对于您提供的组件。
答案 1 :(得分:5)
我想你在你的框架中添加一个MouseListener?然后你可以通过MouseEvent.getPoint
获得相对坐标frame.addMouseListener(new MouseAdapter() {
void mouseClicked(MouseEvent e) {
System.out.println(e.getPoint());
}
});