我正在使用 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
显着减少。
你有什么建议来解决这个问题?