私はキャンバスでダブルバッファリングを使用しようとしています。私はチュートリアルをオンラインで利用し、キャンバスをインスタンス化し、そのためのバッファリングを設定するために次のコードを設定しました。私はレンダリングされたgraphiocs(ここには示されていません)を含む完全なプロセスをコーディングし、コンパイラはそれを受け入れます。Javaバッファストラテジ:コンパイラがそれを好きではない
volCanvas = new VolCanvas();
volCanvas.setBackground(Color.black);
volCanvas.setBounds(10, 380, 1180, 125);
add(volCanvas);
volCanvas.createBufferStrategy(2); (Program blows up here)
offScreen = volCanvas.getBufferStrategy();
ofsg = (Graphics2D) offScreen.getDrawGraphics();
しかし、プログラムは、以下のコードのフラグ付き行で爆発します。ランタイムは、 "コンポーネントには有効なピアが必要です"という説明とともに、不正な状態例外をスローします。
私が知る限りでは、ソースコードは本質的にいくつかの例で見たようなものなので、ここで何が起こっているのか分かりません。どんな助けでも大歓迎です。
おかげで、
ジョンDoner
質問要約に「コンパイラ」と書いたのはなぜですか? –