java - 在 JPanel 中重置图形

标签 java swing jpanel graphics2d

以下代码绘制分子的结构。如果我不传递分子,最后一个结构将继续显示在 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/

相关文章:

java - Swing : Exit application actionListener

java JFrame 具有虚拟绘图空间的缩放 UI 显示

java - 为什么 java BufferedReader 会丢失输出

java - java中运算符优先级的本质

java - 从扩展 Application 的另一个类调用 Activity 中的方法

java - 从文本文件读取时多线程进度栏不更新

java - 制作图形按钮到JPanel

java - LibGDX 中的 JFileChooser

java - JScrollPane 内的 JPanel

java - 让 ImageIcon 适合 JButton 的大小