
| 一个Java小球撞击墙面的小程序2 |
| 2010/2/2 发布人:qiantai |
一个Java小球撞击墙面的小程序 import java.awt.; import java.applet.; public class UseDoubleBuffering extends Applet implements Runnable { int X,Y,moveX,moveY,width,height; Thread newThread; Image OffScreen; Graphics drawOffscreen; public void init() { X=0; Y=0; moveX=2; moveY=3; width=getSize().width; height=getSize().height; OffScreen = createImage(width,height); drawOffscreen = OffScreen.getGraphics(); } public void start() { newThread=new Thread(this); newThread.start(); } public void stop() { newThread=null; } public void paint(Graphics g) { drawOffscreen.setColor(Color.black); drawOffscreen.fillRect(0,0,width,height); drawOffscreen.setColor(Color.white); drawOffscreen.fillOval(X,Y,15,15); g.drawImage(OffScreen,0,0,this); } public void update(Graphics g) { paint(g); } public void run() { while(newThread !=null) { repaint(); try { Thread.sleep(50); } catch(InterruptedException E){} X=X+moveX; Y=Y+moveY; if(X = (width - 15)) { X=width-15; moveX=-moveX; } if(X=0) { X=0; moveX=-moveX; } if(Y=(height-15)) { Y=height-15; moveY=-moveY; } if(Y=0) { Y=0; moveY=-moveY; } } } } 用这个双缓冲区 就解决了 |