我们有一个旧的(超过10年历史)Java Swing应用程序,它根据实验室数据在JCanvas(JComponent的子类)上的这些圆圈之间绘制了大量的圆和连接(线)。
因为数据越来越大,我们现在无法显示整个图纸。我们已将JCavans放入JScrollPane中,但滚动绘图并不方便。
我们可以为它缩放放大吗?如果有,怎么样?我知道我们可以缩放图像,但Canvas上的绘图是图像吗?
谢谢,
编辑:
我们在paintComponent(Graphics g)
方法中绘制那些圆圈并与图形对齐。
答案 0 :(得分:0)
在不了解您的应用程序的情况下,很难提供有用的建议(添加代码片段或更好的缩减示例应用程序将有助于显示事物的绘制方式),但我会试一试:
在绘制每个圆/线之前,为什么不将x,y和宽度,高度值乘以缩放系数?我假设你的画布正在使用Graphics
对象来绘制每个形状?
答案 1 :(得分:0)
您可以将缩放Transform
应用于传递给Graphics2D
方法的paintComponent
对象。您可以在Java 2D programming trail中学习如何使用它。