我正在制作一个程序,其中有一个正方形,当按下一个键时它会改变它的 x 和 y 位置。广场移动,但旧广场仍然存在。在重新绘制面板之前,如何删除/清除面板中的所有内容?调用 removeAll
无效。
最佳答案
大概您的代码包含自定义 paintComponent()
逻辑。要观察的关键是当您不覆盖paintComponent()
时您的面板看起来像什么?一个空的(或清除的)面板:
因此,解决方案是在执行您的自定义 paintComponent()
逻辑之前调用面板上父类型的 paintComponent()
方法:
public class CustomPanel extends JPanel {
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g); // first draw a clear/empty panel
// then draw using your custom logic.
}
}
关于java - 清除 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7408034/