Java 我应该使用哪个布局管理器?

Java 我应该使用哪个布局管理器?,java,swing,user-interface,layout,Java,Swing,User Interface,Layout,请参阅所附图片。我是JavaGUI的初学者,希望有人能指导我选择这样的GUI布局管理器。我知道我可能必须使用嵌套的LayoutManager,但我不确定哪一个可以帮助我完成这项工作 这里有一个想法: 在主JPanel中使用边框布局。将JList设置在中间部分 在上述布局的东部,添加一个新的JPanel,其GridLayout为6行2列 在GridLayout上,按定义的顺序(从上到下、从左到右)添加每个标签、按钮、文本字段等 或者:您可以使用7x2网格布局,并用空文本字段填充按钮上方的两个位

请参阅所附图片。我是JavaGUI的初学者,希望有人能指导我选择这样的GUI布局管理器。我知道我可能必须使用嵌套的LayoutManager,但我不确定哪一个可以帮助我完成这项工作

这里有一个想法:

  • 在主JPanel中使用边框布局。将JList设置在中间部分
  • 在上述布局的东部,添加一个新的JPanel,其GridLayout为6行2列
  • 在GridLayout上,按定义的顺序(从上到下、从左到右)添加每个标签、按钮、文本字段等
或者:您可以使用7x2网格布局,并用空文本字段填充按钮上方的两个位置,将上面的标签/字段与下面的按钮分开。

签出,我认为它非常适合此表单

看看他们的例子:

只需几行干净的代码:

    layout.row().grid(label("Last Name"))   .add(lastNameField) .grid(label("First Name"))  .add(firstNameField);
    layout.row().grid(label("Phone"))       .add(phoneField)    .grid(label("Email"))       .add(emailField);
    layout.row().grid(label("Address 1"))   .add(address1Field);
    layout.row().grid(label("Address 2"))   .add(address2Field);
    layout.row().grid(label("City"), 1)     .add(cityField);
    layout.row().grid(label("State"))       .add(stateField)    .grid(label("Postal Code")) .add(postalField);
    layout.row().grid(label("Country"), 1)  .add(countryField);
    layout.emptyRow();
    layout.row().center().add(newButton).add(deleteButton).add(editButton).add(saveButton).add(cancelButton);

我总是使用
GroupLayout
,没有例外。它使GUI比任何其他布局管理器都要漂亮得多。:-)