读书人

很奇怪的画图闪烁有关问题纠结

发布时间: 2012-10-21 09:00:08 作者: rapoo

很奇怪的画图闪烁问题,纠结
求大神帮忙啊,我这样画了一个圆,然后把这个圆放进了一个Thread,让他每次都执行都重新画一个圆,
实际上我是想写一个Ping功能,然后这个小圆点的颜色会根据延迟时时改变。
部分代码如下:
pp=new Panel(){
public void paint(Graphics gs) {
super.paint(gs);
gss=gs;
gss.setColor(new Color(r,g,b));
gss.fillOval(0,0,10,10);
}
};
pp.setBounds(235, 75, 10, 10);
jp.add(pp); //jp为一个JPanel
问题是:运行的时候鼠标不再窗口内没问题,可是鼠标一移到窗口,这个小圆点就会消失,或者闪烁。
之前百度过缓冲,可是都不是我这样的写法,其他写法我试过,连图都画不出来,更别说解决闪烁了。
求大神指导啊

[解决办法]
在你的类中定义一个全局的图像:
Image offScreenImage = null;
添加一个update方法:

Java code
public void update(Graphics g) {        if(offScreenImage == null){            offScreenImage = this.createImage(GAME_WIDTH,GAME_HEIGHT);        }        Graphics gOffScreen = offScreenImage.getGraphics();        Color c = gOffScreen.getColor();        gOffScreen.setColor(Color.BLACK);        gOffScreen.fillRect(0, 0, GAME_WIDTH, GAME_HEIGHT);        gOffScreen.setColor(c);        paint(gOffScreen);        g.drawImage(offScreenImage,0,0,null);    } 

读书人网 >J2EE开发

热点推荐