【发布时间】:2016-01-30 17:21:35
【问题描述】:
我正在尝试将一个 Jpanel 放入另一个 Jpanel,但我在定位到所需位置(即在 Jpanel 的中心)时遇到问题,这不允许我在框架上对齐组件。我想要类似于以下链接Setting panel at center of screen by using layout 中给出的已接受答案的内容 但这个答案是父面板没有任何组件的情况,因为我的父面板上的文本字段和标签很少。
【问题讨论】:
我正在尝试将一个 Jpanel 放入另一个 Jpanel,但我在定位到所需位置(即在 Jpanel 的中心)时遇到问题,这不允许我在框架上对齐组件。我想要类似于以下链接Setting panel at center of screen by using layout 中给出的已接受答案的内容 但这个答案是父面板没有任何组件的情况,因为我的父面板上的文本字段和标签很少。
【问题讨论】:
但这个答案是父面板没有任何组件的情况,因为我的父面板上的文本字段和标签很少。
那么在您的主面板中,您可能会使用 BorderLayout。
在PAGE_START 位置(即NORTH),您将创建一个带有文本字段和标签的面板。
然后您创建另一个仅使用 GridBagLayout 的面板并将此面板添加到 BorderLayout 的“CENTER”。
最后,您创建子面板,然后您可以将其添加到 CENTER 的面板中,子面板将在该空间中居中。
布局管理的关键是使用不同的布局管理器嵌套面板以实现您的目标。
【讨论】:
如果你想在另一个Panel的中心插入一个panel,你可以使用BorderLayout。
我给你写一个例子:
JPanel main = new JPanel();
JPanel secondPanel = new JPanel();
main.setLayout(new BorderLayout());
main.add(secondPanel, BorderLayout.CENTER);
add(main);
【讨论】: