BufferStrategy 是 AWT 的一部分,经常与 Canvas 类一起使用,但它是否也可以与 Swing UI 结合使用而不会导致任何窗口显示问题,或者在这种情况下我应该更好地使用纯 AWT?感谢您的任何回答。
问问题
1518 次
2 回答
2
BufferStrategy 并不是真正的 AWT 的一部分,即使它位于包 java.awt.image 中。由于历史原因,所有与图像相关的类都在 java.awt.image 包中。BufferStrategy 出现在 Java 1.4 中,到那时 Swing 是推荐的框架(与 AWT 相对)。
因此,您可以将 BufferStrategy 与 Swing 一起使用。普通的 Swing 组件不需要它,但它对游戏很有用。
于 2013-04-30T19:06:10.127 回答
1
在 Swing 图像预览中,我这样使用它:
public class ImagePreview extends JFrame {
...
private final int BUFFERS = 2;
private BufferStrategy bufferStrategy;
...
@Override
public void paint(Graphics g) {
if (bufferStrategy == null) {
this.createBufferStrategy(BUFFERS);
this.bufferStrategy = this.getBufferStrategy();
}
...
for (int i = 0; i < BUFFERS; i++) {
Graphics2D g2Buffered = (Graphics2D) bufferStrategy.getDrawGraphics();
g2Buffered.draw(...
...
bufferStrategy.show();
g2Buffered.dispose();
}
}
}
我希望这会有所帮助。
于 2013-04-28T16:00:23.487 回答