哪个LayOut Manager最适合我的GUI?

时间:2013-05-23 05:11:09

标签: java swing layout user-interface layout-manager

我正在努力应对布局管理器。我必须设置一个基本上像堆栈的GUI,例如:

---------------
'             '
'  ---------  '
'  |       |  '
'  ---------  '
'             '
'  ---------  '
'  |       |  '
'  ---------  '
'             '
'   LABEL     '
'             '
'  ---------  '
'  |       |  '
'  ---------  '
'             '
---------------

我尝试过BorderLayout,因为'LABEL'会将第二个文本字段替换为CENTER,因此效果不佳。我不能使用BoxLayout。

并且Flowlayout还将标签和字段设置为垂直吗?

4 个答案:

答案 0 :(得分:4)

使用 BoxLayout - 易于使用,没有GridbagLayout的复杂性

  

BoxLayout允许垂直或水平布置多个组件。这些部件不会包裹,因此,例如,当调整框架尺寸时,垂直布置的部件将保持垂直排列。使用水平和垂直的不同组合嵌套多个面板会产生类似于GridBagLayout的效果,而不会产生复杂性。 BoxLayout管理器使用轴参数构造,该参数指定将要完成的布局类型。对于所有方向,组件的排列顺序与添加到容器中的顺序相同。

您可以像这样堆叠小部件

enter image description here

或并排

enter image description here

您也可以使用TableLayout来达到类似的效果。

答案 1 :(得分:4)

您可以将Grid布局与构造函数一起使用,该构造函数将行数和列数作为参数。使用您想要的行数

将列数设置为1

例如:

GridLayout myLayout =new GridLayout( 3, 1 );

答案 2 :(得分:4)

我倾向于避免使用所有标准的Swing布局管理器。除了GridbagLayout之外,它们的实用性都非常有限,后者非常复杂。目前DesignGridLayout是我的第一选择,MiG Layout也很不错。虽然您的特定方案可以在框布局中使用,但很难扩展它。

答案 3 :(得分:2)

根据您当前的要求。 Grid Layout,是最好的。请参阅链接并享受。