编辑:我最终在我的图片面板上使用了以下代码,而不是我的滚动面板
addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
int x = e.getX(), y = e.getY();
System.out.println("x: " + x);
System.out.println("y: " + y);
}});
要解决我的问题,感谢Trobbins
我的图像比我的显示器(5500x3800)大得多,因此我需要使用JScrollPane来移动图像。我已经设置好了,当我点击图片时,会打印出x坐标和y坐标,但是当使用时
e.getX(), e.getY()
它只给出了相对于窗口的X和Y值,而不是相对于图像。
如何让x和y坐标相对于图像?
我的想法是跟踪我滚动的距离并将其添加到x和y值,但我不知道我该怎么做
答案 0 :(得分:0)
Point p = scrollPane.getViewport().getViewPosition();
int imageX = event.getX() + p.x;
int imageY = event.getY() + p.y;