【发布时间】:2023-03-24 01:31:02
【问题描述】:
我从事 Java Swing 已经有一段时间了。我在 JDesktopPane 上绘制一些东西(绘制一些基本形状,如圆形、矩形等),一旦我调整包含 jDesktopPane 的框架窗口的大小或在该框架上拖动其他一些窗口,绘制的形状就会消失。我使用 BufferedImage 类的对象来保存图像。那么有什么方法可以防止形状消失或在它们消失时重新绘制?
【问题讨论】:
-
你是用什么方法画的?
-
我实际上传递了 Graphics 对象并在单击鼠标按钮时使用该对象进行绘制。所以我把我的 g.drawLine() 或其他方法放在 formMouseClicked 方法中..
-
这是错误的,因为您发现,以这种方式使用时,获得的 Graphics 对象不是持久的,不会持续存在。最好让您的 mouseClicked 方法更改类字段并调用 repaint()。然后paintComponent 方法可以使用更新的字段来决定要绘制什么。
标签: java image swing jdesktoppane