0

BufferStrategy は AWT の一部であり、Canvas クラスでよく使用されますが、ウィンドウ表示の問題を引き起こすことなく Swing UI と組み合わせることもできますか、それともこの場合は純粋な AWT を使用する必要がありますか? 回答ありがとうございます。

4

2 に答える 2

2

BufferStrategy は、パッケージ java.awt.image に含まれていても、実際には AWT の一部ではありません。歴史的な理由から、すべてのイメージ関連のクラスは java.awt.image パッケージに含まれています。BufferStrategy は Java 1.4 で登場し、その頃には (AWT ではなく) Swing が推奨されるフレームワークでした。

したがって、Swing で BufferStrategy を使用できます。通常の 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 に答える