调整大小后,JDesktopPane的内容会消失-Java Swing

| 我从事Java Swing已有一段时间了。我在JDesktopPane上绘制一些东西(绘制一些基本形状,例如圆形,矩形等),并在调整包含jDesktopPane的框架窗口的大小或在该框架上拖动其他窗口之后,绘制的形状消失。我使用BufferedImage类的对象来保存图像。那么,有什么方法可以防止形状消失或消失时重新粉刷吗?     
已邀请:
您需要确保保存saving绘制的内容并每次都使用“ 0”方法对其进行重新绘制。每当需要重绘时都会自动调用此方法(例如:由于调整大小)。     
由于您已决定不发布必要的代码,因此我只能提供一个猜测,但是我的建议是: 不要通过在组件上调用getGraphics来获取Graphics对象。代替, 确保在一个类化JComponent或其子类(例如JPanel)的类中进行绘制。 在使用相同方法调用super.paintComponent()之后,立即在JComponent \ paintpaint方法中绘制BufferedImage。使用JVM提供的Graphics对象,并将其传递到方法的参数中。 为确保您的paintComponent方法的签名正确,请在其前面放置一个@Override批注。否则,如果不正确,JVM可能不会在您期望的时候调用它。 但是,也请在这里提问时,尽量向我们提供足够的信息,以便我们不必猜测。由于您的问题与图形相关,因此发布与图形相关的代码是有意义的,对吧?     

要回复问题请先登录注册