Java 哪个布局管理器最适合我的GUI?

Java 哪个布局管理器最适合我的GUI?,java,swing,layout,user-interface,layout-manager,Java,Swing,Layout,User Interface,Layout Manager,我正在努力选择布局管理器。我必须设置一个基本上类似于堆栈的GUI,例如: --------------- ' ' ' --------- ' ' | | ' ' --------- ' ' ' ' --------- ' ' | | ' ' --------- ' ' ' ' LABEL ' ' ' ' --------- ' ' |

我正在努力选择布局管理器。我必须设置一个基本上类似于堆栈的GUI,例如:

---------------
'             '
'  ---------  '
'  |       |  '
'  ---------  '
'             '
'  ---------  '
'  |       |  '
'  ---------  '
'             '
'   LABEL     '
'             '
'  ---------  '
'  |       |  '
'  ---------  '
'             '
---------------
我已经尝试了BorderLayout,但它并没有很好地工作,因为“标签”将替换第二个文本字段作为中心。我不能使用BoxLayout

Flowlayout是否将标签和字段设置为垂直?

使用-易于使用,无需复杂的
GridbagLayout

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

您可以像这样在顶部堆叠小部件

或者并排


您还可以使用来实现类似的效果。

您可以将网格布局与构造函数一起使用,构造函数将行数和列数作为参数。将列数与所需行数一起设置为1

例如:


根据您目前的要求,这是最好的。参考链接并享受

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

使用-使用简单,没有
GridbagLayout
@极端编码器的复杂性,为什么您不提交此作为答案?是的,这是一个好主意,但(3,1)不起作用(0,1) worked@DilshatAbduwalli
GridLayout
将为每个单元格提供相同的大小,这可能不理想。@ExtremeRecords-是的,您是对的。尤其是当您展开或挤压框架时,标签和按钮会展开或挤压。是的,我考虑过,但最好不要使用方框。@DilshatAbduwalli有没有不使用
BoxLayout
的具体原因?
GridLayout myLayout =new GridLayout( 3, 1 );