如何防止以前的图形在Java中被重画?

如何防止以前的图形在Java中被重画?,java,swing,canvas,graphics,jframe,Java,Swing,Canvas,Graphics,Jframe,我一直在做一个游戏,但把事情搞砸了,我不知道它是什么。在本例中,我尽可能地简化了代码,并保留了相同的问题 在本例中,不是红色方块向上移动而不留下痕迹,而是留下红色痕迹,这意味着图形没有被正确处理,或者缓冲策略不起作用 我怎样才能让红场不留下痕迹 我怎样才能让红场不留下痕迹 在绘制红方块之前,需要绘制画布的整个背景 g.setColor(...); g.fillRect(...); g.setColor(Color.red); g.fillRect(300, move, 50, 50);

我一直在做一个游戏,但把事情搞砸了,我不知道它是什么。在本例中,我尽可能地简化了代码,并保留了相同的问题

在本例中,不是红色方块向上移动而不留下痕迹,而是留下红色痕迹,这意味着图形没有被正确处理,或者缓冲策略不起作用

我怎样才能让红场不留下痕迹


我怎样才能让红场不留下痕迹

在绘制红方块之前,需要绘制画布的整个背景

g.setColor(...);
g.fillRect(...);
g.setColor(Color.red);
g.fillRect(300, move, 50, 50);
    g.setColor(Color.red);
    g.fillRect(300, move, 50, 50);
g.setColor(...);
g.fillRect(...);
g.setColor(Color.red);
g.fillRect(300, move, 50, 50);