GridBagLayout
のコンポーネントを同じ幅にする方法は?私はGridBagConstraint.weightx
を試しましたが、動作しません。GridBagLayoutのコンポーネントを同じ幅にする
static void test3() {
JFrame f = new JFrame("Test");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(480, 360);
Container pane = f.getContentPane();
pane.setLayout(new GridBagLayout());
String[] a = {
"Lorem ipsum dolor sit amet",
"consectetur adipisicing",
"elit, ",
"sed do",
"eiusmod",
};
for (int i = 0; i < 5; i++) {
GridBagConstraints c = new GridBagConstraints();
c.gridx = i % 3;
c.gridy = i/3;
c.weightx = 0.5;
c.fill = GridBagConstraints.HORIZONTAL;
f.add(new JButton(a[i]), c);
}
f.setVisible(true);
}
'test.setPreferredSize(new Dimension(250,25));'マジックナンバーで、必要なサイズの推測値を超えない。 「Java Swingのset(Preferred | Maximum | Minimum)サイズメソッドの使用を避けるべきでしょうか?」(http://stackoverflow.com/q/7229226/418556)(はい。) –
これは単なるクイックテストでしたあなたが本当にしたい場合は、必ず数値を変数に置き換えることができます。彼がgridbaglayoutに滞在したいと思えば、それ以外の解決策はformlayoutを使うことができます – XtremeBaumer