我正在尝试在JScrollPane中编写可缩放图像。当图像完全缩小时,它应该水平和垂直居中。当两个滚动条都出现时,缩放应始终相对于鼠标坐标发生,即图像的同一点应在缩放事件前后位于鼠标下方。我的目标快要实现了。不幸的是,“scrollPane.getViewport().setViewPosition()”方法有时无法正确更新View位置。在大多数情况下调用该方法两次(hack!)可以解决该问题,但View仍然闪烁。我无法解释为什么会这样。但是我相信这不是数学问题。下面是一个MWE。要查看我的问题具体是什么,您可以执行以下操作:放大直到有一些滚动条(缩放200%左右)点击滚动条滚动到右下