最简单的方法是修改面板并引入一个双倍来指示您的缩放级别。这双会指示你的规模,其中1是正常的和更高的变焦放大。您可以使用与双一起
Graphics2D在你的
paintComponent。
如:
Graphics2D g2 = (Graphics2D) g;int w = // real width of canvasint h = // real height of canvas// Translate used to make sure scale is centeredg2.translate(w/2, h/2);g2.scale(scale, scale);g2.translate(-w/2, -h/2);
为了进行滚动,将面板放在JScrollPane中,然后将其与也使用缩放比例的getPreferredSize结合起来。JScrollPane使用您放入组件的首选大小。如果首选大小超过其自身大小,它将显示滚动条。
如果更改面板的首选大小,以便缩放其返回的宽度和高度,则应该没问题。基本上,您可以返回以下内容:
return new Dimension(w * scale, h * scale)



