Java 第一次调用JPanel repaint()方法会创建不需要的背景图像

Java 第一次调用JPanel repaint()方法会创建不需要的背景图像,java,swing,jpanel,repaint,Java,Swing,Jpanel,Repaint,我已经为我的学习计划设计了一个Sokoban克隆。自从升级到JDK 7以来,我遇到了以下问题:当我第一次在我的JPanel上调用repaint()方法时,一个“阴影图像”出现在我的JPanel的右侧,如下所示: 之前: 之后: 我不知道是什么导致了这种情况,所以不知道应该添加哪些代码。 以下是paint()方法: public void绘制(图形g){ int x; int-y; //画柱 for(int k=0;k

我已经为我的学习计划设计了一个Sokoban克隆。自从升级到JDK 7以来,我遇到了以下问题:当我第一次在我的
JPanel
上调用repaint()方法时,一个“阴影图像”出现在我的JPanel的右侧,如下所示: 之前: 之后:

我不知道是什么导致了这种情况,所以不知道应该添加哪些代码。 以下是paint()方法:

public void绘制(图形g){
int x;
int-y;
//画柱
for(int k=0;k
有什么建议吗?您还想看其他代码吗? 如果有任何帮助,我将不胜感激。 A

不要覆盖paint()

自定义绘制通过重写
paintComponent()
方法完成,第一条语句通常应为:

super.paintComponent(g);
确保在绘制之前清除背景

阅读上的Swing教程了解基本知识

super.paintComponent(g);