我有一张地图的图片,作为JLabel
的图标。
我使用以下代码来获取单击鼠标的位置的X,Y坐标。
我已将此代码放在JLabel
。
Point point = MouseInfo.getPointerInfo().getLocation();
double X = point.getX();
double Y = point.getY();
但坐标取决于JFrame
表单的位置。如果移动表单,则坐标会发生变化。
无论如何我可以冻结JFrame
吗?
要么
反正我是否可以将图像的一角变为0,0并获得相对于此的其他坐标? (所以我可以计算实际坐标)
答案 0 :(得分:4)
getLocation
返回相对于屏幕的鼠标坐标。使用MouseEvent
中的坐标
label.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
double x = e.getX();
double y = e.getY();
...
}
});