当前位置: 代码迷 >> J2EE >> 很奇怪的画图闪烁有关问题,纠结
  详细解决方案

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

热度:21   发布时间:2016-04-22 00:33:45.0
很奇怪的画图闪烁问题,纠结
求大神帮忙啊,我这样画了一个圆,然后把这个圆放进了一个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);    }
  相关解决方案