Swing のコントロールの周囲に必要なスペースのガイドラインはありますか? また、それをどのように正確に達成するかについての質問もあります。一部のレイアウト マネージャーは、コントロール間のギャップをサポートしています。使用しないものもあります。EmptyBorder
これは、境界線が重ならず、2 つのコントロール間のスペースが大きくなりすぎる可能性があるため、苦痛になる可能性があります1 。国境。
もう 1 つの問題は、ルック アンド フィールです。明示的なギャップまたは境界線を使用すると、ある LAF では問題なく見えても、別の LAF では見栄えが悪い場合があります。たとえば、Nimbus は、ボタンの周りに余分なスペースがあるため、ボタンがぎっしり詰まっていても見栄えがします。デフォルトの Windows LAF は、余分なスペースなしでそれらを詰め込むだけです。Microsoft、Apple、Gnome などはすべて、このトピックに関する異なるガイドラインを持っているため、これは基本的にプラットフォームの問題であることを認識しています。
そのため、Windows または Metal LAF に対応するためにコントロール間に余分なスペースを入れると、Nimbus やその他のシステムではスペースが離れすぎてしまいます。
次に、UI をどのように構築するかという全体的な問題があり、間隔と境界線の柔軟性に重大な副作用があります。すべてを 1 つのコンテナーにGridBagLayout
入れることは、この観点からは素晴らしいことですが、それでも UI を変更する必要がある場合は恐ろしいことです。次に、適切なレイアウト マネージャーを使用して複数の から UI を構築しJPanel
ます。その逆も同様です。
要するに、あまり手間をかけずに、コントロールが適切に配置され、LAF に適合していることを確認するにはどうすればよいでしょうか? たぶん、私はここで何かを見落としているだけなのかもしれません。
1少なくとも私にとっては問題でした。実行可能な解決策があるかもしれません。しかし、2 つのコントロールを隣り合わせに配置する単純なケースを考えると、それらの周囲におそらく 5 ピクセルの空白が必要です。書き込み方向に応じて異なる境界線を作成せずに、一般的なケースでこれがどのように機能するかはわかりません(左と右は必ずしもコントロールが移動する場所ではなく、明らかに常に境界線がある場所であるため)。