我有一个 JScrollPane,里面有一个 JPanel。使用 PaintComponent 方法中的以下代码来“缩放”JPanel:
g2d.translate(this.getWidth()/2, this.getHeight()/2);
g2d.scale(scaleX, scaleY);
g2d.translate(-this.getWidth()/2, -this.getHeight()/2);
现在,当我“放大”并且 JPanel 放大到比 JScrollPane 更大的程度时,我希望会出现垂直和水平滚动条,但它们没有出现。我尝试通过每次 JPanel“缩放”时将 JPanel 的首选大小设置为新缩放面板的大小来解决此问题,但是直到用户调整保存 JScrollPane 的 JFrame 的大小之前,这不会执行任何操作(也许这会触发重新验证?)。我希望有人能告诉我发生了什么事,甚至是达到预期效果的方法。谢谢!
最佳答案
I tried to fix this by setting the preferred size of the JPanel..
在 JScrollPane
上调用 revalidate()
。
关于Java JScrollPane 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13888638/