1

画像を印刷し、ユーザーがその上に描画して編集できるようにする Java アプリケーションを作成しています。現在、私のプログラムはマウスのドラッグをリッスンし、ドラッグされると、カーソルが現在オンになっているピクセルの色を変更します。変更を表示するためにpaintComponent、各mouseDraggedループの最後に呼び出します。意図したとおりに動作しますが、マウスを速く動かしすぎると画像がバタバタします。

これは私がpaintComponent何度も電話をかけすぎているからですか?もしそうなら、どうすれば自分のプログラムをより効率的に動作させることができますか?

編集のたびに画像を表示するのではなく、単にメモリ内の画像のみを編集し、1/30秒ごとに画像を表示することを考えていました。

4

1 に答える 1

1

これは私がpaintComponent何度も電話をかけすぎているからですか?

一度は多すぎます。代わりにrepaint()、 への呼び出しを呼び出してスケジュール (または無視) させますpaintComponent()

于 2012-06-03T08:20:05.080 に答える