0

在 Java 中,当使用 BorderLayout 时,是否可以在 CENTER 中有两个面板,但两者都在表单上可见。

这是我的代码:

    guiFrame.add(guiFieldsPanel, BorderLayout.CENTER);
    guiFrame.add(guiButtonsPanel, BorderLayout.CENTER);        
    guiFrame.setVisible(true);

在上面的代码中,两个面板都设置为中心,但我只能看到 guiButtonsPanel,因为它位于 guiFieldsPanel 的“顶部”。

我可以将两个面板组合在一起,然后将它们设置为显示在中心吗?

4

2 回答 2

5

有关如何组合布局以创建所需布局的想法,请参阅嵌套布局示例。例如

也许使用单行GridLayout作为中心。

guiFrame.add(guiFieldsPanel, BorderLayout.CENTER);
guiFrame.add(guiButtonsPanel, BorderLayout.CENTER);        

但这表明在这个答案GroupLayout中看到了 2 列。例如

于 2013-05-12T06:29:58.227 回答
1

您需要创建一个包含guiFieldsPanel和的中间面板,guiButtonsPanel然后将其添加到边框布局中。

final JPanel centre = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
centre.add(guiFieldsPanel);
centre.add(guiButtonsPanel);

guiFrame.add(centre, BorderLayout.CENTER);
guiFrame.setVisible(true);

您可以根据需要根据和centre的相对位置调整 的布局。guiFieldsPanelguiButtonsPanel

于 2013-05-12T06:22:41.783 回答