1

JLabelに設定されているBufferedImageがあり、これはJPanelの一部です。ボタンをクリックすると、BufferedImageに線が引かれ、その後パネルで更新されます。以前は、各線を1つずつ描画していました。これは問題ありませんでしたが、私の目的には時間効率が悪くなりました。効率を上げるために、BufferedImageの座標を4つの部分に分割し、スレッドを使用して各部分に線を引きました。これで、実行が完了した後、画像の一部のランダムな部分に線が描画されません。何故ですか?Graphics2Dを使用した描画はスレッドセーフではありませんか?

4

1 に答える 1

3

Graphics2D を使用した描画はスレッドセーフではありませんか??

はい、Swing (およびその描画) は間違いなくスレッドセーフではなく、発生しているレンダリング エラーは間違いなくそのためです。

詳細については、次のチュートリアルを参照してください: http://docs.oracle.com/javase/tutorial/uiswing/concurrency/dispatch.html

mKorbel のコメントによると、SSCCE を追加して、より具体的なアドバイスを受けてください。

于 2012-06-26T10:35:23.507 に答える