2013-10-02 33 views
0

我有一个Java Swing GUI,其中顶层布局管理器是BorderLayout。我喜欢它,因此当用户调整我的GUI大小在首选大小以下时,无法调整中心区域的大小(或至少优先调整大小),并且南/北区域变小。Java Swing BorderLayout使一个区域不能调整大小

它现在正在工作的方式是我的北部和南部的面板优先,并首先吹走我的中心区域。我试着在中央面板上设定的最小尺寸,一旦它有它的所有组件添加到它

centerPanel.setMinimumSize(centerPanel.getPreferredSize()); 

但那不是为我工作。它仍然是第一个缩小调整大小的区域。

+0

@HovercraftFullOfEels我有一种感觉,我需要至少改变我使用的布局管理器。我宁愿没有,因为我喜欢现在的一切,除了这个问题之外,它完美地工作。我想我很快就会发现! – Matt

+1

考虑创建并发布[sscce](http://sscce.org),以便我们可以使用代码进行游戏,以更好地体验*您的问题,并希望能够帮助您找到简单的解决方案。 –

+1

@trashgod:我会删除我的评论。谢谢。 –

回答

2

也许一个BoxLayout将工作。盒子布局将遵守组件的最小尺寸。有关更多信息,请参见How to Use Box Layout上的Swing教程部分。

0

我认为没有比GridBagLayout更简单的服务。 BorderLayout不尊重最小尺寸。

+0

我不认为这实际上解决了他的问题... – StormeHawke