revalidate / repaint/packをいつ使用するかを理解しようとしています。
驚いたことに、詳細な内部ドキュメントは見つかりませんでした(自由にリンクしてください)。
これまでのところ、これがRepaintManagerのすべての責任であることを理解しました。
- ペイント/リペイントとは、汚れた/きれいなものと見なされるものを指します
- pack / validate / revalidateは、有効なものを参照します
Oracleに関するこの記事では、再ペイントを呼び出すと、イベントディスパッチャスレッドにジョブがエンキューされ、コンポーネントでpaintImmediately()が呼び出される(これによりコンポーネントが再描画される)と説明しています。
この証跡は、有効であるか無効であるかがLayoutManagerに関連付けられていることを示しています。そして、これはすべて、コンテンツではなく、コンポーネントのサイズに関するものです。
- コンポーネントを移動/サイズ変更するときに再検証を呼び出し、コンポーネントの内容を変更するときに再ペイントする必要があるというのは本当ですか?
- pack()メソッドは本当に非推奨であり、決して呼び出さないでください。
- 上記の主張のいずれかが間違っていますか?