java swing 界面刷新缓冲防止闪烁

在java swing中,做页面的绘制的时候,如果不进行缓冲处理,难免会出现闪烁的情况,而下面则是最简单的一种缓冲的方法,可以略微改善闪烁的程度:

首先,class 必须 extends JFrame


然后在刷新类中定义:public Image offScreenImage = null;


刷新部分的代码如下:

@Override
public void update(Graphics g) {
    if(offScreenImage==null){
        offScreenImage = this.createImage(ROWS * CHECK_SIZE + BLANK * 2, COLS * CHECK_SIZE + BLANK * 2);
    }
    Graphics goff = offScreenImage.getGraphics();
    paint(goff);
    g.drawImage(offScreenImage,0,0,null);
}