我正在努力应对布局管理器。我必须设置一个基本上像堆栈的GUI,例如:
---------------
' '
' --------- '
' | | '
' --------- '
' '
' --------- '
' | | '
' --------- '
' '
' LABEL '
' '
' --------- '
' | | '
' --------- '
' '
---------------
我尝试过BorderLayout,因为'LABEL'会将第二个文本字段替换为CENTER,因此效果不佳。我不能使用BoxLayout。
并且Flowlayout还将标签和字段设置为垂直吗?
答案 0 :(得分:4)
使用 BoxLayout
- 易于使用,没有GridbagLayout
的复杂性
BoxLayout允许垂直或水平布置多个组件。这些部件不会包裹,因此,例如,当调整框架尺寸时,垂直布置的部件将保持垂直排列。使用水平和垂直的不同组合嵌套多个面板会产生类似于GridBagLayout的效果,而不会产生复杂性。 BoxLayout管理器使用轴参数构造,该参数指定将要完成的布局类型。对于所有方向,组件的排列顺序与添加到容器中的顺序相同。
您可以像这样堆叠小部件
或并排
您也可以使用TableLayout
来达到类似的效果。
答案 1 :(得分:4)
您可以将Grid布局与构造函数一起使用,该构造函数将行数和列数作为参数。使用您想要的行数
将列数设置为1例如:
GridLayout myLayout =new GridLayout( 3, 1 );
答案 2 :(得分:4)
我倾向于避免使用所有标准的Swing布局管理器。除了GridbagLayout之外,它们的实用性都非常有限,后者非常复杂。目前DesignGridLayout是我的第一选择,MiG Layout也很不错。虽然您的特定方案可以在框布局中使用,但很难扩展它。
答案 3 :(得分:2)
根据您当前的要求。 Grid Layout,是最好的。请参阅链接并享受。