【发布时间】:2012-04-23 02:26:55
【问题描述】:
有没有办法遍历组件列表并将它们添加到 Swing GroupLayout 中的 ParallelGroup?
这似乎很困难,因为没有办法获得 ParallelGroup。
这是生成组件列表(在本例中为 JCheckBoxes)的代码。
List<JCheckBox> listCustomiseJCB = new ArrayList<>();
for (int w = 0; w < initialCMTableColumns.size(); w++) {
String heading = (String)initialCMTableColumns.get(w).getHeaderValue();
listCustomiseJCB.add(new JCheckBox(heading));
}
列表正在工作,但我如何遍历列表以将每个 JCheckbox 插入到 GroupLayout 的 ParallelGroup 中?例如,下面的代码不会编译。
GroupLayout gl = new GroupLayout(jpnlCustomise);
jpnlCustomise.setLayout(gl);
gl.setAutoCreateContainerGaps(true);
gl.setAutoCreateGaps(true);
GroupLayout.SequentialGroup hGroup = gl.createSequentialGroup();
hGroup
.addComponent(jbtnApply);
hGroup.addGroup(gl.createParallelGroup(GroupLayout.Alignment.CENTER)
// ERRORS BEGIN HERE
{ for (JCheckBox c: listCustomiseJCB) {
.addComponent(c);
}});
// ERRORS END HERE
hGroup
.addComponent(jbtnCancel);
gl.setHorizontalGroup(hGroup);
另外,是否有人知道获取 ParallelGroup 的方法,以便我可以在独立的 for 循环中迭代地将组件添加到该组?
【问题讨论】:
-
+1 用于使用 GroupLayout,恕我直言,最好但使用率最低的布局管理器。
-
谢谢。我也喜欢GroupLayout,太有效了!
-
有一个(不太灵活的)例子here。
标签: java swing grouplayout