キャンバスでダブルバッファリングを使用しようとしていますが、これはこれまでに行ったことのないことです。オンラインのチュートリアルを利用して、次のコードをセットアップしてキャンバスをインスタンス化し、そのバッファリングをセットアップしました。グラフィックのレンダリング (ここには示されていません) を含む完全なプロセスをコーディングし、コンパイラーはそれを受け入れます。
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();
しかし、プログラムは、以下のコードのフラグが立てられた行で爆発します。ランタイムは、「コンポーネントには有効なピアが必要です」という説明とともに、不正な状態の例外をスローします。
私が知る限り、ソース コードは基本的に、いくつかの例で見たとおりなので、ここで何が起こっているのかわかりません。どんな助けでも大歓迎です。
ありがとう、
ジョン・ドナー