イベント ディスパッチ スレッドを適切に使用していないことが原因であると思われるレンダリングの問題が発生しているため、アプリケーションをリファクタリングする必要があります。物事を正しく行うために、私は情報を収集しようとします。私はすでにEDTに関するこのスレッドを開始しました: Swingでコンポーネントが実現されるのはいつですか?
パネルをネストする最良の方法についてもっと知りたいと思います。
私が次の構造を持っているとしましょう:
[パネルA [パネルB [パネルC]]]
よりパフォーマンスの高いもの (invalidate() への内部呼び出しが少ない)
順序 1 (最初に内側のコンポーネント、次に外側のコンポーネント):
PanelB.add(PanelC);
PanelA.add(PanelB);
順序 2 (最初に外側のコンポーネント、次に内側):
PanelA.add(PanelB);
PanelB.add(PanelC);
最もパフォーマンスの高い UI を取得する方法について、誰かがさらに情報/リンク/ヒントなどを持っている場合は、本当に感謝しています。ほとんどのチュートリアルは基本を説明するだけです。
関連する質問: すべての JComponents はコンテナであるため、JButton などのコンポーネントを追加することで、いくつかの JPanel を節約することを検討しています。これは良い習慣ですか:
JButton b=new JButton();
b.setLayout(new BorderLayout(),BorderLayout.Right);
b.add(new MyComponent());
コンポーネントがデフォルトで使用するレイアウトと、コンポーネントのレイアウトを変更したときに何が起こる可能性があるかを知るにはどうすればよいですか?
どうもありがとうございました。