GridBagLayout によって管理されるレイアウトの個々のコンポーネントを非表示にすると、レイアウト内の残りのコンポーネントの配置が変化し続けます。GridBagLayout は、非表示のコンポーネントでセルを「折りたたむ」ように見え、他のコンポーネントの位置が変更されます。これは非常に厄介な動作であり、私はそれを防ぐ方法を探していました。
私が試した1つの方法は、同じセルにスペーサーを追加することです。固定サイズは、非表示になる可能性のあるコンポーネントの優先サイズに等しくなりますが、その優先サイズが変更されると、多くの問題が発生しますスペーサーを同期させます。より良い方法はありますか?
実際には、GridBagLayout が目に見えないコンポーネントを含むセルを本当に完全に無視してもそれほど悪くはありませんが、それでもセルのインセットが考慮されます。中間にあるコンポーネントを非表示にすると、レイアウトから削除されますが、ギャップは残ります。これは、通常、周囲のコンポーネントが一緒に流れることを意味しますが、それらの間に醜いダブル幅のギャップがあります...