GroupLayout将组件彼此呈现

时间:2019-10-04 13:30:54

标签: java swing layout-manager grouplayout

所以我有一个问题,我添加到GroupLayout的所有组件都呈现在彼此的顶部。我想用“ X”行连续实现一个标签和字段。这是在运行时生成的。

所有组件均已正确创建,并且左侧的标签以及位于标签右侧的字段,但所有标签和字段都位于彼此的顶部(所有标签的X / Y坐标完全相同,并且所有相同的X / Y字段(自定义JTextfield组件)。

首先,我以为我混合了顺序组和并行组,但是切换它们并没有什么改变。

SequentialGroup verticalGroup = layout.createSequentialGroup();
ParallelGroup horizontalGroup = layout.createParallelGroup();

// Build Vertical Group
for (int i = 0; i < labels.size(); i++)
{
    verticalGroup.addGroup(layout.createSequentialGroup().addComponent(labels.get(i))
            .addComponent((Component) dataFields.get(i)));
}

// Build Horizontal Group
for (int i = 0; i < labels.size(); i++)
{
    horizontalGroup.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING).addComponent(labels.get(i))
            .addComponent((Component) dataFields.get(i)));
}

layout.setVerticalGroup(verticalGroup);
layout.setHorizontalGroup(horizontalGroup);

标签全部位于称为标签的ArrayList中,而所有“字段”位于称为数据字段的ArrayList中。

我也尝试了使用硬编码的组件(没有labels.get(i),例如label1等),但是没有任何区别。

我的代码中的错误在哪里? 感谢您提前提出任何答案

0 个答案:

没有答案