图形移动闪屏问题
实现矩形在图面上移动;
代码详解:
package hgf;
import java.awt.*;
import java.awt.image.BufferedImage;
import javax.swing.*;
public class demo1 extends JFrame{
private int x=100;
private int y=100;
Rectangle r1=new Rectangle(x,y,50,50);
public void loop(){
while(true){
r1.x++;
r1.y++;
repaint();
for(int i=0;i<9999;i++){}
}
}
//绘制图形,并实现双缓冲
public void paint(Graphics g){
//缓冲图片
BufferedImage image=(BufferedImage)createImage(getWidth(),getHeight());
//获取缓冲图片画笔
Graphics res=image.getGraphics();
//在缓冲画板上绘制图形
res.setColor(Color.yellow);
res.fill3DRect(r1.x, r1.y, r1.width, r1.height,true);
//在画板上绘制缓冲图片
g.drawImage(image, 0,0, null);
}
public demo1(){
setTitle("move");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
setSize(600,600);
loop();
}
//main方法
public static void main(String[] args) throws Exception {
new demo1();
}
}