2

コードは次のとおりです(このクラスでJFrameを拡張しています)(ポイント「サイズ」は画面のサイズです):

setVisible(true);
backBuffer = createImage(size.x, size.y);
backGraphics = backBuffer.getGraphics();

「コンポーネントが表示できない場合、戻り値がnullになる可能性があります」という説明にあるように、createImageメソッドに問題があることはわかっています。それでも、Visible(true) を設定しました! これは私のプログラム全体の問題であり、過去の解決策は奇妙でした。しかし、今回はそれを修正することはできないようです。

定期的に機能する場合と機能しない場合があり、10回実行すると機能し、3回実行すると機能しなくなり、サイクルが繰り返されます。

createImage を BufferedImage にキャストしようとしましたが、多くの Google 検索で提案されましたが、問題は引き続き発生します。

また、jframe を拡張するのではなく、「JFrame jframe = new JFrame()」を作成し、それを使用して draw/etc を試みましたが、問題は引き続き発生します。

4

1 に答える 1

1

これはここから来ます。

これらの例では、画面と互換性のあるバッファー イメージを作成します。

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice gs = ge.getDefaultScreenDevice(); 
GraphicsConfiguration gc = gs.getDefaultConfiguration();

// Create an image that does not support transparency 

bimage = gc.createCompatibleImage(width, height, Transparency.OPAQUE);

// Create an image that supports transparent pixels 

bimage = gc.createCompatibleImage(width, height, Transparency.BITMASK);

// Create an image that supports arbitrary levels of transparency 

bimage = gc.createCompatibleImage(width, height, Transparency.TRANSLUCENT);
于 2011-09-01T19:45:43.187 に答える