我应该使用哪个LayoutManager?

时间:2013-02-26 21:27:30

标签: java swing user-interface layout

Layout

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

2 个答案:

答案 0 :(得分:5)

这是一个想法:

  • 在主JPanel中使用BorderLayout。在中心部分设置JList
  • 在上述布局的EAST部分,添加一个新的JPanel,其GridLayout为6行,2列
  • 在GridLayout上,按照定义的顺序添加每个标签,按钮,文本字段等 - 从上到下,从左到右。

或者:您可以使用7x2 GridLayout并使用空文本字段填充按钮上方的两个位置,以将上面的标签/字段与下面的按钮分开。

答案 1 :(得分:5)

查看DesignGridLayout,它非常适合我认为的这种表格

看看他们的例子:

enter image description here

只需几行干净的代码:

    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);