我正在编写代码,把JPanel当作一个画布来画,我可以通过点击面板内部来创建形状。当我点击时,它把点放在我想去的地方,但是如果我滚动然后点击,它把点放在我没有滚动时鼠标会在的地方。我想这是因为鼠标的坐标没有改变,所以我猜测我需要添加我已经滚动的像素数(水平和垂直)。有没有一个命令可以用来引用这些值?
我已经有一段时间没有使用Swing了,但我相信你想调用。
JScrollPane sp = ...
Point viewPosition = sp.getViewport().getViewPosition();
我相信你想叫: viewPosition.x
和 .y
将返回左上角的偏移量,单位为像素。