在BorderLayout.CENTER中设置JPanel的最大大小

luc*_*uca 6 java swing

我在BorderLayout.CENTER中有一个JPanel

JPanel有一个网格布局,我希望它以CENTER的宽度扩展,但是高度必须停在最大值并尽可能使用preferredSize.

我有这个代码

JPanel wrapperCenterPanel = new JPanel(new FlowLayout());
wrapperCenterPanel.add(centerPanel);    
panel.add(wrapperCenterPanel, BorderLayout.CENTER);
Run Code Online (Sandbox Code Playgroud)

centerPanel是我的面板(使用GridLayout),我用FlowLayout面板包装它,并将最后一个放在CENTER中.

现在尺寸是首选,但它是固定的!如果需要,高度不会收缩,宽度也不会收缩.

我怎样才能做到这一点?

cam*_*ckr 16

尝试使用BoxLayout作为包装器面板.BoxLayout尊重组件的最大/最小和首选大小.