如题!解决的方法是增加一个虚背景。之后把虚背景增加到原来的Frame上。由于repaint()到paint()中间涉及到update(),所以解决问题的
关键是在重写update(),在这个方法中实现虚背景的添加~~
@Override
public void update(Graphics g)
{
if(offScreenImage == null)
{
offScreenImage = this.createImage(800, 600);
}
/*
*定义在虚背景中画的“画笔”
*/
Graphics graOffScreen = offScreenImage.getGraphics();
/*
*重画虚背景
*/
Color c = graOffScreen.getColor();
graOffScreen.setColor(Color.GREEN);
graOffScreen.fillRect(150, 150, 800, 600);
graOffScreen.setColor(c);
paint(graOffScreen);
g.drawImage(offScreenImage, 0, 0, null);
}