将Jpanel定位到另一个Jpanel

时间:2016-01-30 17:21:35

标签: java swing jframe jpanel

我正在尝试将Jpanel放入另一个Jpanel,但我在定位到希望位置(即在Jpanel的中心)时遇到问题,这不允许我对齐框架上的组件。我想要类似于以下链接中给出的接受答案Setting panel at center of screen by using layout 但是这个答案是父母小组没有任何组件的情况,因为我父母小组上的文本字段和标签很少。

2 个答案:

答案 0 :(得分:3)

如果要将面板插入另一个面板的中心,可以使用BorderLayout。

我给你写了一个例子:

JPanel main = new JPanel();
JPanel secondPanel = new JPanel();

main.setLayout(new BorderLayout());
main.add(secondPanel, BorderLayout.CENTER);
add(main);

答案 1 :(得分:1)

  

但是这个答案是父母小组没有任何组件的情况,因为我父母小组上的文本字段和标签很少。

那么在你的主面板中你可能会使用BorderLayout。

PAGE_START位置(即北方),您将创建一个包含文字字段和标签的面板。

然后你创建另一个只使用GridBagLayout的面板,并将此面板添加到BorderLayout的“CENTER”。

最后,您创建了子面板,然后可以将其添加到CENTER中的面板中,子面板将在该空间中居中。

布局管理的关键是使用不同的布局管理器嵌套面板以实现您的目标。