双缓冲技术是怎么回事?请大家帮忙 !可用编程来解决!谢谢!

解决方案 »

  1.   

    本来是直接draw在界面
    运用了双缓冲技术之后 事先在后台的虚拟界面offscreen(存于内存中)上画好本来要画在界面上的东西
    然后一次性直接复制给界面
    这样的简略操作因为省去了原先直接在界面上的复杂绘图操作而避免了屏幕的闪烁
      

  2.   

    学习中ing………………楼上给点实例代码吧
      

  3.   

    刚给别人的回复, 正好你可以用到:
    生成一个BufferedImage bimg = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);在JPanel的
    protected void paintComponent(Graphics g) {
            // super.paintComponent(g); // 自己实现双缓冲的话, 这一行就不需要了。如果不是自己实现双缓冲, 这一行的作用就是系统给你实现双缓冲        Graphics2D g2d = bimg.createGraphics();
            // 把你画图的代码用这个g2d画出来, 直接用如g2d.drawLine(..), g2d.drawRect(....)        // 把bimg画到屏幕上
            g.drawImage(bimg, 0, 0, null);
    } 上面的这种绘制方式也是自己实现双缓冲的方法, 在以前的Panel的paint中画图实现双缓冲就可以用上面的这种方法, 使用运动的图像不会闪烁