如何在JLabel中获取图像的X,Y坐标

时间:2013-11-14 12:25:16

标签: java swing coordinates mouselistener mouse-listeners

我有一张地图的图片,作为JLabel的图标。 我使用以下代码来获取单击鼠标的位置的X,Y坐标。 我已将此代码放在JLabel

的MouseClick事件中
Point point = MouseInfo.getPointerInfo().getLocation();

double X = point.getX();
double Y = point.getY();

但坐标取决于JFrame表单的位置。如果移动表单,则坐标会发生变化。

无论如何我可以冻结JFrame吗? 要么 反正我是否可以将图像的一角变为0,0并获得相对于此的其他坐标? (所以我可以计算实际坐标)

1 个答案:

答案 0 :(得分:4)

getLocation返回相对于屏幕的鼠标坐标。使用MouseEvent中的坐标

label.addMouseListener(new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent e) {
         double x = e.getX();
         double y = e.getY();
         ...
    }
});