我知道我很菜但是真的不知道在Java这里怎么解决    用Java在JFrame窗口上画图制作动画嘛。。一边画,一边清除屏幕。。
    但是,很明显,闪屏出现了怎么解决拉各位朋友就帮我一把吧。。
   我画图用的是Graphics的drawLine,清屏就用JFrame.update(g);

解决方案 »

  1.   

    在paintComponent函数中第一句先调用super.paintComponent(g)实现双缓冲.
      

  2.   

    http://javag.javaeye.com/blog/231193
      

  3.   

    JFrame是Swing.
    你的控件调用一个setDoubleBuffer(true);
    就好了.
    Swing是内置双缓冲的
      

  4.   

    哪个控件?我就一个JFrame也是在JFrame上画JFrame好像没有这个方法呀~~
      

  5.   

    就很一般的代码。。没什么拿的。。就是在开了个线程在JFrame上画点,再清屏。。不停循环
      

  6.   

    这个文章里说swing是内置双缓冲的,是不是这样的啊?
      

  7.   


    如果你重载了paint, update方法的话,估计就出现了你所说的问题。Swing中的绘画不要用这两个函数。Swing里绘画不需要清屏, 双缓冲JPanel中默认是打开的。
    所有的绘制代码都放在
    protected void paintComponent(Graphics g) {
          super.paintComponent(g);      // 接下来就是你的绘制代码。
          ......your code.
    }
      

  8.   

    直接使用一张GIF动画即可,java6有SplashScreen-Image: splash.gif参数
      

  9.   

    给楼主提供点思路,在JFrame的背后画一张虚拟的图片,把你要画的东西画在这个虚拟的图片上,然后把虚拟的图片再画在你的JFrame种,这种实现方法被称作双缓冲!
      

  10.   

    代码拿上来,swing是内置双缓冲的,所以应该你的代码有点问题。