GroupLayout を使用して、Windows 7 (64 ビット) 上の Java 7 でフレームを構築しています。以下は、GroupLayout で Oracle の例を見て使用したレイアウトの構造です。
希望するレイアウト:
+------------------------------------------+
| [Label1] [ComboBox1] |
| [Label2] [TextField1] [Button1] |
| [Label3] [TextField2] [Button2] |
| [Label4] [ComboBox2] |
+------------------------------------------+
コードでの私のデザイン:
layout.setHorizontalGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING))
.addComponent(Label1)
.addComponent(Label2)
.addComponent(Label3)
.addComponent(Label4)
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING))
.addComponent(ComboBox1)
.addComponent(TextField1)
.addComponent(TextField2)
.addComponent(ComboBox2)
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING))
.addComponent(Button1)
.addComponent(Button2)
);
layout.linkSize(SwingConstants.HORIZONTAL, Button1, Button2);
layout.setVerticalGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE))
.addComponent(Label1)
.addComponent(ComboBox1)
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE))
.addComponent(Label2)
.addComponent(TextField1)
.addComponent(Button1)
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE))
.addComponent(Label3)
.addComponent(TextField2)
.addComponent(Button2)
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE))
.addComponent(Label4)
.addComponent(ComboBox2)
);
もっと経験豊富な人にチェックしてもらう必要があります。現在、このコードはサイズのアライメントの問題を引き起こしComboBox1, ComboBox2
、TextField2
大幅に削減されています。
これを改善するためのあなたの提案は何ですか?