滚动后如何返回与图像相关的正确x和y坐标?

时间:2015-09-15 20:04:42

标签: java image coordinates jscrollpane

编辑:我最终在我的图片面板上使用了以下代码,而不是我的滚动面板

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值,但我不知道我该怎么做

1 个答案:

答案 0 :(得分:0)

Point p = scrollPane.getViewport().getViewPosition();
int imageX = event.getX() + p.x;
int imageY = event.getY() + p.y;