GridBagLayout
列と行がこのように配置されていないため、これは答えるのが難しい質問です。2 つの列と 2 つのコンポーネントがある場合、列はそれらの列に配置された最大のコンポーネントのサイズに合わせてサイズ変更されます。左のコンポーネントが大きいため、左の列が大きくなります。
GridBagConstraints
コンポーネントの対応する属性を調整することで、セルが占める予備スペースの量を調整できます。重み属性 ( weighty
& ) は、列 ( ) と行 ( ) がweightx
占有する予備スペースの量を制御します。たとえば、が呼び出されたオブジェクトを使用していて、次のコードを使用して相対的なサイズを変更できる場合。weightx
weighty
JPanel
GridBagConstraints
rightGbc
leftGbc
leftGbc.weightx = 0.5;
rightGbc.weightx = 1;
これは、右の列が左の列の 2 倍の予備スペースを占有することを意味し、したがって (うまくいけば) コンポーネントのサイズの違いを補うことができます。
ウェイト アトリビュートの使用は、非常に抽象的なプロセスのように感じられる場合があり、慣れるまでに時間がかかる場合がありますが、しばらく使用し始めると理解できます。使用しているコンポーネントに応じて、重み属性が列/行に与える影響に影響を与える可能性のある他の癖があります。