我们有一个面板,它显示一个带有任意数量的JTextFields
,JComboBoxes
和JTextAreas
(每个都有一个对应的JLabel
)的表单。
当前代码使用 aGridBagLayout
但我想知道是否已经有此类任务的布局(WrapLayout
目前正在使用但对齐字段似乎很棘手)。
有没有特别适合这个的布局,或者我最好还是坚持我们已经拥有的可爱的 GridBagLayout 代码?
我们有一个面板,它显示一个带有任意数量的JTextFields
,JComboBoxes
和JTextAreas
(每个都有一个对应的JLabel
)的表单。
当前代码使用 aGridBagLayout
但我想知道是否已经有此类任务的布局(WrapLayout
目前正在使用但对齐字段似乎很棘手)。
有没有特别适合这个的布局,或者我最好还是坚持我们已经拥有的可爱的 GridBagLayout 代码?
创建表单时,我几乎总是推荐JGoodies作为布局。FormLayout
该文档包含一个具有动态数量的组件的布局示例(代码片段 6,我在此处复制粘贴给您一个想法)
FormLayout layout = new FormLayout(
“right:max(40dlu;p), 4dlu, 80dlu, 7dlu, ” // 1st major column
+ “right:max(40dlu;p), 4dlu, 80dlu”, // 2nd major column
“”); // add rows dynamically
DefaultFormBuilder builder = new DefaultFormBuilder(layout);
builder.setDefaultDialogBorder();
builder.appendSeparator(“Segment”);
builder.append(“Identifier”, idField);
builder.nextLine();
builder.append(“PTI [kW]”, ptiField);
builder.append(“Power [kW]”, powerField);
builder.append(“len [mm]”, lenField);
builder.nextLine();
builder.appendSeparator(“Diameters”);
builder.append(“da [mm]”, daField);
builder.append(“di [mm]”, diField);
builder.append(“da2 [mm]”, da2Field);
builder.append(“di2 [mm]”, di2Field);
builder.append(“R [mm]”, rField);
builder.append(“D [mm]”, dField);
他们通过 Java web start提供了一个演示