我正在编写一个程序,其中绘制了不同的元素(如矩形和椭圆形)。单击一个JButton后,应该在屏幕上绘制一些东西。我希望它可以保留在屏幕上,但每次我移动窗口或最小化它时,每个绘制的对象都会消失。
我搜索了类似的主题,但没有任何帮助。有两种方法:在编译java程序之后绘制图形对象(每一个)并且它们一直保持到最后(使用repaint()方法之后) - 这是不可取的,或者在应用paintComponent(Graphics)方法之后正如我所希望的那样绘制物体,但它们已经消失,就像我已经描述过的那样。
有人会告诉我如何解决这个问题吗?
答案 0 :(得分:2)
我正在编写一个程序,其中绘制了不同的元素(如矩形和椭圆形)。
有两种常见的方法可以做到这一点:
创建要绘制的对象列表。将对象添加到列表中,然后覆盖JPanel的paintComponent()
方法以绘制所有对象。
创建一个BufferedImage并将每个Object直接绘制到BufferedImage。然后你可以画出BufferedImage。
查看Custom Painting Approaches以了解这两种方法的工作示例。