0

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

Point point = MouseInfo.getPointerInfo().getLocation();

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

但坐标取决于JFrame表格的位置。如果表格被移动,坐标会改变。

反正我可以冷冻JFrame吗?或者无论如何我可以将图像的一角设为 0,0 并获得与之相关的其他坐标?(所以我可以计算实际坐标)

4

1 回答 1

4

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

label.addMouseListener(new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent e) {
         double x = e.getX();
         double y = e.getY();
         ...
    }
});
于 2013-11-14T12:35:43.683 回答