以下代码绘制分子的结构。如果我不传递分子,最后一个结构将继续显示在 JPanel 中。当没有分子时,如何将其重置为空白 Canvas 。换句话说,我应该在drawMolecule()方法的else{}中放入什么?
最佳答案
您可以在 else 中创建一个新的 BufferedImage,也可以获取 BufferedImage 的 Graphics2D 组件,通过 setBackground(Color c)
设置其背景颜色,然后通过 clearRect(. ..)
然后通过其 dispose()
方法处理 Graphics2D 对象。
事实上,在审查您的代码时,我没有看到您这样做。如果您自己创建了 Graphics 或 Graphics2D 资源,请不要忘记在使用完它们后将其释放(如果是通过其 Paint 或 PaintComponent 方法从 JVM 获取的,则不是)。
关于java - 在 JPanel 中重置图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7731330/