Java 将一个Jpanel定位到另一个Jpanel

Java 将一个Jpanel定位到另一个Jpanel,java,swing,jframe,jpanel,Java,Swing,Jframe,Jpanel,我试图把一个Jpanel放到另一个Jpanel中,但我在定位到一个渴望的位置时遇到了问题。在Jpanel的中心,它不允许我对齐框架上的组件。我想要一些类似于下面链接中给出的公认答案的东西 但这个答案是这样的:父面板没有任何组件,因为我的父面板上几乎没有文本字段和标签 但这个答案是这样的:父面板没有任何组件,因为我的父面板上几乎没有文本字段和标签 因此,在主面板中,您可能会使用边界布局 在页面的起始位置,即北面,您将创建一个包含文本字段和标签的面板 然后创建另一个仅使用GridBagLayout的

我试图把一个Jpanel放到另一个Jpanel中,但我在定位到一个渴望的位置时遇到了问题。在Jpanel的中心,它不允许我对齐框架上的组件。我想要一些类似于下面链接中给出的公认答案的东西 但这个答案是这样的:父面板没有任何组件,因为我的父面板上几乎没有文本字段和标签

但这个答案是这样的:父面板没有任何组件,因为我的父面板上几乎没有文本字段和标签

因此,在主面板中,您可能会使用边界布局

在页面的起始位置,即北面,您将创建一个包含文本字段和标签的面板

然后创建另一个仅使用GridBagLayout的面板,并将此面板添加到BorderLayout的中心

最后,创建子面板,然后将其添加到中心的面板中,子面板将位于该空间的中心

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

但这个答案是这样的:父面板没有任何组件,因为我的父面板上几乎没有文本字段和标签

因此,在主面板中,您可能会使用边界布局

在页面的起始位置,即北面,您将创建一个包含文本字段和标签的面板

然后创建另一个仅使用GridBagLayout的面板,并将此面板添加到BorderLayout的中心

最后,创建子面板,然后将其添加到中心的面板中,子面板将位于该空间的中心


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

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

我给你写了一个例子:

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

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

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

我给你写了一个例子:

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

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

这不会使子面板在父面板中居中。这没有帮助,因为如果我更改父面板的布局,就像我尝试将其设置为框布局和边框布局一样,我将对这两个面板使用网格布局,或者它不显示任何内容,或者它给出了一个错误。因此,我对子面板使用框布局,它可以工作,但在窗体的一侧显示子面板的组件,而我尝试在父面板的中间显示它们。因此,子面板上面有一些文本字段和标签,下面有一个父面板按钮。这不会使子面板在父面板中居中。这没有帮助,因为如果我更改父面板的布局,就像我尝试将其设置为框布局和边框布局一样,它不会显示任何内容或它给出了一个错误。因此,我对子面板使用框布局,它可以工作,但在窗体的一侧显示子面板的组件,而我尝试在父面板的中间显示它们。所以子面板上面有一些文本字段和标签,下面有一个父面板按钮