2

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

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

我试过 BorderLayout 但效果不佳,因为“标签”将第二个文本字段替换为 CENTER。而且我不能使用 BoxLayout。

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

4

4 回答 4

4

我倾向于避免使用所有标准的 Swing 布局管理器。除了 GridbagLayout 之外,它们的用处都非常有限,而且后者非常复杂。目前DesignGridLayout是我的首选,MiG Layout也不错。虽然您的特定场景可以在盒子布局中工作,但很难扩展它。

于 2013-05-23T06:54:41.040 回答
4

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

BoxLayout 允许多个组件垂直或水平布局。组件不会换行,例如,当调整框架大小时,组件的垂直排列将保持垂直排列。嵌套具有不同水平和垂直组合的多个面板会产生类似于 GridBagLayout 的效果,但没有复杂性。BoxLayout 管理器是使用指定要完成的布局类型的轴参数构造的。对于所有方向,组件的排列顺序与它们添加到容器中的顺序相同。

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

在此处输入图像描述

或并排

在此处输入图像描述

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

于 2013-05-23T05:23:31.097 回答
4

您可以使用带有构造函数的网格布局,它以行数和列数作为参数。使用您想要的行数将列数设置为 1

例如:

GridLayout myLayout =new GridLayout( 3, 1 );
于 2013-05-23T05:24:54.337 回答
1

根据你现在的要求。网格布局,是最好的一种。参考链接并享受。

于 2013-05-23T06:50:53.663 回答