レイアウトを作成したい:2行1列。第1行はウィンドウの70%の高さを占め、第2行はウィンドウの30%を占める。私はweighty
属性をGridBagConstraints
とすることでこれを達成しています。1列のレイアウトでウィンドウの全幅を使用しない
しかし、アプリケーションウィンドウのサイズを変更するとコンポーネントが中央に残り、幅が一定でコンポーネントの左右に空白が表示されるため、コンポーネントの幅に問題があります(たとえfill
〜BOTH
)。この問題は、ウィンドウの高さを変更すると発生しません(コンポーネントのサイズが非常によくなり、ウィンドウの高さ全体を塗りつぶします)。私の制約の下
:
firstConstraints.gridx = 0;
firstConstraints.gridy = 0;
firstConstraints.weighty = 0.7;
firstConstraints.fill = GridBagConstraints.BOTH;
secondConstraints.gridx = 0;
secondConstraints.gridy = 1;
secondConstraints.weighty = 0.3;
secondConstraints.fill = GridBagConstraints.BOTH;
あなたが設定し、アンカー制約試してみましたか? –