嘿伙计们我正在尝试在顶部制作一个带导航栏的屏幕,我不确定哪种布局最适合使用。基本上我希望屏幕看起来像:
[Nav Panel Up top, One row]
[ ^ ]
[ | ]
[ Empty Panel ]
[ | ]
[ | ]
[ | ]
[ ^ ]
嵌套面板包含导航按钮。
我的问题是,我应该使用GridBagLayout并将其设置为具有10行并且让空面板扩展其中的9个或者是否有更好的Java布局可以让我这样做?
答案 0 :(得分:5)
“导航栏”听起来像是一个独立的组件。如果额外的嵌套级别不是问题,我只需使用BorderLayout
,将导航栏组件NORTH
和空面板(我猜想其余的UI)放入CENTER
。
我更喜欢GridBagLayout
来制作无法再分割成子面板的复杂控件,并且需要有很多边缘要对齐的布局 - 对于这种情况,它的灵活性有点过分。 (当然它仍然非常适合这项任务,而不是完成它的最简单方法。)
答案 1 :(得分:4)
您不希望在GridBagLayout
中使用9行来保存一个组件;它比那更强大。而是为导航面板的GridBagConstraints
0
weighty
和空1
{{1}}(或任何正数)。这将导致空面板占用任何额外空间。