我有一个 JScrollPane,里面有一个 JPanel。JPanel 使用 paintComponent 方法中的以下代码“缩放”:
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 大小之前,这不会做任何事情(也许这会触发重新验证?)。我希望有人能告诉我发生了什么,甚至可以告诉我达到预期效果的方法。谢谢!