双缓冲的原理就是先把要画的东西画到一张图片上,再把图片画到屏幕上,此为双缓冲。
双缓冲实现你的程序的代码如下,把他加到你的程序中就行了:- //实现双缓冲
- //可以差api,重画需要调用repaint方法,而repaint方法内部是update方法,所以重写update就行了。
- public void update(Graphics g){
- if(offScreenImage == null){
- offScreenImage = this.createImage(800,600);
- }
-
- Graphics gImage = offScreenImage.getGraphics();
- //把图片清空
- Color c = gImage.getColor();
- gImage.setColor(Color.GREEN);
- gImage.fillRect(0, 0, 800, 600);
- gImage.setColor(c);
-
- paint(gImage);
-
- g.drawImage(offScreenImage, 0, 0, null);
- }
复制代码 |