我应该使用哪个LayoutManager?

4
请参考附图。我是Java GUI的初学者,希望有人能指导我选择适合这种GUI的布局管理器。我知道可能需要使用嵌套的布局管理器,但我不确定哪种会帮助我完成这项工作。

我总是使用GroupLayout,没有例外。它可以实现比任何其他布局管理器更漂亮的GUI界面。 :-) - C. K. Young
2个回答

5

一个想法:

  • 在主JPanel中使用BorderLayout。将JList设置为CENTER部分
  • 在上述布局的EAST部分,添加一个新的JPanel,该JPanel具有6行2列的GridLayout
  • 在GridLayout中,按照定义顺序从上到下、从左到右依次添加每个Label、Button、TextField等。

或者:您可以使用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);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接