Java挑选布局问题

时间:2012-02-09 17:59:45

标签: java swing layout panel gridbaglayout

嘿伙计们我正在尝试在顶部制作一个带导航栏的屏幕,我不确定哪种布局最适合使用。基本上我希望屏幕看起来像:

[Nav Panel Up top, One row]
[            ^            ]
[            |            ]
[       Empty Panel       ]
[            |            ]
[            |            ]
[            |            ]
[            ^            ]

嵌套面板包含导航按钮。

我的问题是,我应该使用GridBagLayout并将其设置为具有10行并且让空面板扩展其中的9个或者是否有更好的Java布局可以让我这样做?

2 个答案:

答案 0 :(得分:5)

“导航栏”听起来像是一个独立的组件。如果额外的嵌套级别不是问题,我只需使用BorderLayout,将导航栏组件NORTH和空面板(我猜想其余的UI)放入CENTER

我更喜欢GridBagLayout来制作无法再分割成子面板的复杂控件,并且需要有很多边缘要对齐的布局 - 对于这种情况,它的灵活性有点过分。 (当然它仍然非常适合这项任务,而不是完成它的最简单方法。)

答案 1 :(得分:4)

您不希望在GridBagLayout中使用9行来保存一个组件;它比那更强大。而是为导航面板的GridBagConstraints 0 weighty和空1 {{1}}(或任何正数)。这将导致空面板占用任何额外空间。