JPanel
の円をpaintComponent
で描画しようとしましたが、元の塗料をすべて削除するたびにrepaint()
と呼びます。しかし、super
を削除すると、円の動きの軌跡が表示されます。だから、私はその軌跡を表示せずに移動後にサークルを保持するためにどうすればよいですか?トレースを表示せずにグラフィックスを移動するにはどうすればいいですか?
-1
A
答えて
1
スイングでのペインティングは破壊的です。その仕組みです。
ペイントサイクルが発生すると、最初からコンポーネントの状態を再描画することが予想されます。これは、あなたがペイントメソッドは、それの全体
状態を再描画するために使用できるモデルのいくつかの種類を維持する必要があることを示唆している
私は絵が
をどのように機能するかについての詳細は、 Painting in AWT and Swingを見た推薦します
1
まず、Custom PaintingのSwingチュートリアルのセクションを読んでください。マウスがクリックされた場所に四角形を描画する方法を示します。
あなたのロジックは、マウスを使って円の新しい位置を決定する代わりに、プログラムされたロジックを使用して円のx/y位置を変更するという点を除いて同様です。
Swing Timer
を使用して、このアニメーションをスケジュールすることができます。このチュートリアルには、How to Use Swing Timers
のセクションもあります。これには、始めるための実例が含まれています。
関連する問題
- 1. テンプレートをレイアウトテンプレート内に表示せずに表示するにはどうすればよいですか?
- 2. python 2でフルパスを指定せずにディレクトリに移動するにはどうすればよいですか?
- 3. 要素を右端に移動して非表示にするにはどうすればいいですか?
- 4. ディスクに移動せずに文字列をFileStreamにロードするにはどうすればよいですか?
- 5. Codenameone、UIに表示せずにMultiButtonアイテムに値をバインドするにはどうすればいいですか?
- 6. 他のオブジェクトを再描画せずにオブジェクトを移動するにはどうすればよいですか?
- 7. インテントを使用せずにページ間を移動するにはどうすればよいですか?
- 8. intent.putExtra( "getid"、id)をlistviewカスタムアダプタに表示せずに送信するにはどうすればいいですか?
- 9. 画面に表示せずにwpfウィンドウを印刷するにはどうすればいいですか?
- 10. IOS Swift UIWebViewビデオを拡大せずにビデオを表示するにはどうすればいいですか?
- 11. steamvr(openvr)でトラッキングせずにサーフェスを表示するにはどうすればいいですか?
- 12. Drupalで画像を表示する場所を移動するにはどうすればよいですか?
- 13. 移動中に静的ファイルを非表示にするにはどうすればよいですか?
- 14. 実行せずにRコマンドプロンプトの次の行に移動するにはどうすればよいですか?
- 15. linestyleをグラフィックスからムービークリップに動的に変更するにはどうすればいいですか?
- 16. ページヘッダーブロックをフッターに移動するにはどうすればいいですか?
- 17. ジオジソンポリゴンをリーフレットに移動するにはどうすればいいですか?
- 18. CSSとIframe。 Iframeでスクロールせずに全ページを表示するにはどうすればよいですか?
- 19. 表示インラインブロックを右に移動するにはどうすればよいですか?
- 20. フレームの移動中に読み込みアイコンを表示するにはどうすればよいですか?
- 21. scene2の両方のシーンコンテンツを表示せずに、シーン1からシーン2に移動するにはどうすればよいですか?
- 22. plotly.jsのトレースの表示順序を制御するにはどうすればよいですか?
- 23. アップロードせずにプレビュー画像を表示するにはどうすればよいですか?
- 24. マクロコードを実行せずに表示するにはどうすればよいですか?
- 25. ダブルクリックせずにフルアレイを表示するにはどうすればよいですか?
- 26. ログインせずにWordPressのテーマを表示するにはどうすればよいですか?
- 27. onClickを使わずにListViewで行を強調表示するにはどうすればいいですか?
- 28. WPFでAltキーを押さずにAccessKeyを表示するにはどうすればいいですか?
- 29. iOSでGoogleマップの移動に伴いマーカーを移動するにはどうすればよいですか?
- 30. 円グラフを移動するにはどうすればいいですか?
これを数回読んだ後、私はあなたが作りたいと思っている効果についてはまだ分かりません。以前のサークルを保持したい場合は、すべてを画像に描画して画像を表示します。もしそうでなければ、オーバーライドされたメソッドの第1行として 'super.paint(g)'を使います。 –