例如,假设我在JSanelPanes的JPanel子类中有一个绘图,我想捕获用户点击的点。例如,假设JPanel内的绘图区域从0到10000,而屏幕尺寸不是先验的。给定click事件中的鼠标坐标,是否可以确定实际在0-10000范围内的哪个位置?例如,根据事件,屏幕上的坐标为(300,500),但画布中的实际位置可能为(5890,3200)。
答案 0 :(得分:0)
交付给组件时的鼠标坐标是相对于组件给出的,因此如果是单击鼠标的可见部分,您将看到5890,3200的JPanel。如果您必须从屏幕坐标进行翻译,则可以使用JViewport通过JViewport.getViewRect()查找目前在视口中可见的视图的坐标。您可以通过JScrollPane.getViewport()从JScrollPane获取视口。