java - 我们可以放大缩小在 Canvas 上绘制的图形吗?

标签 java swing zooming

我们有一个旧的(超过 10 年历史)Java Swing 应用程序,它根据实验室数据在 JCanvas(JComponent 的子类)上绘制大量圆圈以及这些圆圈之间的连接(线)。

由于数据越来越大,我们现在无法显示整个绘图。我们已将 JCavans 放入 JScrollPane 中,但滚动绘图不方便。

我们可以为其添加放大缩小功能吗?如果是,怎么办?我知道我们可以缩放图像,但 Canvas 上的绘图是图像?

谢谢

编辑:

我们在 paintComponent(Graphics g) 方法中绘制这些圆圈并使用 Graphics 绘制线条。

最佳答案

您可以对传递给 paintComponent 方法的 Graphics2D 对象应用缩放 Transform。您可以在 Java 2D programming trail 中学习如何使用它.

关于java - 我们可以放大缩小在 Canvas 上绘制的图形吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3796423/

相关文章:

java - 自定义 swing 组件 - 将节点转为文本

javascript - 鼠标滚轮缩放 map - DataMaps.js

javascript - D3 中的编程缩放

java - Java中的同步嵌套集合

java - 使用 Tomcat 服务器的 Java 中的 Servlet

java - Hibernate:是否有可能找出实际使用了哪些急切加载的集合?

Java:在 fileChooser 中默认显示 "*.java"中的 "File of type"

java - 错误] s4s-elt-schema-ns : The namespace of 'bindings' must be from the schema namespace, 'http://www.w3.org/2001/XMLSchema'

java - 在 JLayer 上方添加固定大小的 JPanel

css - 缩小时更改元素的位置