Java调整双缓冲区大小

时间:2015-02-12 12:19:59

标签: java image applet awt buffer

目前,我有Applet在其中运行while循环,它执行两项操作。

  • 调用tick()
  • 然后调用render(buffer.getGraphics(), getGraphics)

缓冲区是我通过执行以下操作创建的双缓冲图像:

if(buffer == null)
{
        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
        buffer = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration().createCompatibleVolatileImage(d.width, d.height);
}

现在这个工作正常,唯一的问题是当我调用小程序setSize()JFrame时,新添加的像素只是灰显了。目前我只是在每次更改大小时创建一个新的缓冲区,但这会导致闪烁效果。任何人都知道在使用添加的新区域时我可以重用现有的方法吗?感谢

1 个答案:

答案 0 :(得分:1)

  

..问题是我打电话给小程序的setSize() ..

这不是代码应该做的事情。 applet的大小在加载它的HTML中设置。

要解决此问题,请删除设置大小的代码。