BoxLayout 拉伸组件以适合父面板

2022-09-02 00:47:08

嗨,我正在使用a将s堆叠在彼此之上(),例如,如果我的父级高度为500像素,并且我向其添加了两个高度为100像素的子面板。拉伸它们,使它们一起占据500px空间。有谁知道如何禁用此功能?BoxLayoutJPanelBoxLayout.Y_AXISJPanelBoxLayout


答案 1

BoxLayout 是为数不多的遵循组件最小和最大大小的布局管理器之一。因此,如果您想防止面板拉伸,可以使用:

panel.setMaximumSize( panel.getPreferredSize() );

答案 2

请改用 GridBagLayout。您可以更好地控制 UI。

但是,如果您仍然想使用BoxLayout,并且不希望它们拉伸,则可以使用不可见的组件填充物(如刚性区域,胶水和填充剂)进行检查。


推荐