使用BoxLayout的时候多余的空白(Extra white space when using B

2019-09-28 00:59发布

我使用的Java Swing使用的BoxLayout布局管理简单的GUI。 它基本上是由单一JPanel的,具有能够由用户添加额外JPanels。

具有两个JPanels(第一个,以及一个附加的),该格式是正确的:

但是,当被加入更JPanels,额外的空间被添加到帧的左侧:

下面是我有:

public void updateListFrameContentPane(Container mainPane) {
    mainPane.setLayout(new GridLayout(1,1+chatPanels.size()));
    JPanel firstPanel = new JPanel();
    firstPanel.setLayout(new BoxLayout(firstPanel, BoxLayout.Y_AXIS));
    firstPanel.add(friendsLabel);        
    firstPanel.add(listScrollPane);
    mainPane.add(firstPanel);
    for(JPanel chatPanel : chatPanels)
       mainPane.add(chatPanel);
}

其中chatPanels是一个HashSet<JPanel> 我尝试使用setMaximumSize每个JPanel的方法,让他们变得更大,但没有帮助。 我该如何摆脱多余的空间?

文章来源: Extra white space when using BoxLayout