Java awt双缓冲

Java awt双缓冲,java,swing,awt,doublebuffered,Java,Swing,Awt,Doublebuffered,awt是否可以使用双缓冲(java)?目前,我知道swing不应该与awt一起使用,所以我不能使用BufferStrategy等等(我已经有一些用awt编写的代码,我不想在swing中重写) 如果awt可以实现双缓冲,我是否必须手动写入缓冲区?与swing不同,awt似乎没有相同的内置双缓冲功能 如果我必须手工编写代码,有好的教程可以看吗?或者对于新手程序员来说,使用swing更容易/更可取 对不起,这是一个多步骤的问题。感谢您的时间:)这在网络上很容易回答。只要搜索“双缓冲区awt”,你就会发

awt是否可以使用双缓冲(java)?目前,我知道swing不应该与awt一起使用,所以我不能使用BufferStrategy等等(我已经有一些用awt编写的代码,我不想在swing中重写)

如果awt可以实现双缓冲,我是否必须手动写入缓冲区?与swing不同,awt似乎没有相同的内置双缓冲功能

如果我必须手工编写代码,有好的教程可以看吗?或者对于新手程序员来说,使用swing更容易/更可取


对不起,这是一个多步骤的问题。感谢您的时间:)

这在网络上很容易回答。只要搜索“双缓冲区awt”,你就会发现很多例子。你甚至可以看到我在1998年用Java1.0AWT写的自己。您只需要实例化自己的图形对象并绘制一个图像,然后将该图像blit到画布中。下面是我的示例中的关键代码:

  public void paint(Graphics g) {
    if (doubleBuffer) {
      paintSky(top.gBuf);
      g.drawImage(top.buf, 0, 0, this);
    } else {
      paintSky(g);
    }
  }

如果可能的话,我建议重用swing实现。哦,天哪,我不能运行代码,因为newStuff()方法不存在。D:@DDP:嗯,这很奇怪。很明显,我已经十年没有试过编译那些代码了。。。编译后的代码在这里作为小程序运行:因此,我链接的源代码一定不是正确的版本。好吧,我将查看您的源代码(其他一切似乎都正常)。非常感谢你的指点,克里斯·多兰:D