Java:给定用户点击的坐标,在JPanel中获取鼠标的绝对位置

时间:2010-08-14 16:13:22

标签: java drawing mouse jpanel jscrollpane

例如,假设我在JSanelPanes的JPanel子类中有一个绘图,我想捕获用户点击的点。例如,假设JPanel内的绘图区域从0到10000,而屏幕尺寸不是先验的。给定click事件中的鼠标坐标,是否可以确定实际在0-10000范围内的哪个位置?例如,根据事件,屏幕上的坐标为(300,500),但画布中的实际位置可能为(5890,3200)。

1 个答案:

答案 0 :(得分:0)

交付给组件时的鼠标坐标是相对于组件给出的,因此如果是单击鼠标的可见部分,您将看到5890,3200的JPanel。如果您必须从屏幕坐标进行翻译,则可以使用JViewport通过JViewport.getViewRect()查找目前在视口中可见的视图的坐标。您可以通过JScrollPane.getViewport()从JScrollPane获取视口。