2013-02-26 29 views
4

Layout我应该使用哪个LayoutManager?

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

+0

我总是使用'GroupLayout',没有例外。它比任何其他布局管理器都可以实现更漂亮的GUI。 :-) – 2013-02-26 21:43:09

回答

5

这里有一个想法:

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

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

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