针对java画面闪烁

来源:互联网 发布:linux文件权限777 编辑:程序博客网 时间:2024/04/28 19:32

 

     如题!解决的方法是增加一个虚背景。之后把虚背景增加到原来的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);

}