如何在一个JFrame中拥有2个或更多JPanel?

时间:2019-07-15 23:05:56

标签: java swing jframe jpanel layout-manager

我想在一个JPanel中有几个JFrame容器,并将它们布置成三角形。

我试图将它们添加到我的JFrame.add(JPanel)中,但我不知道如何格式化或组织它们。

1 个答案:

答案 0 :(得分:0)

您不能直接在框架中添加多个JPanel,但是需要创建一个JPanel作为所谓的内容窗格。然后,您可以在内容窗格中添加LayoutManager,以定义面板的排列方式。 为了使面板排列成三角形,可以执行以下操作:

JPanel pContent = new JPanel();
pContent.setLayout(new BorderLayout());
JPanel northPane = new JPanel();
JPanel southPane = new JPanel();
pContent.add(northPane, BorderLayout.NORTH);
pContent.add(southPane, BorderLayout.SOUTH);
northPane.add(myFirstPanel);
southPane.add(mySecondPanel);
southPane.add(myThirdPanel);
myFrame.setContentPane(pContent);
myFrame.pack();

显然,您需要用实际的面板名称替换myFirstPanelmySecondPanelmyThirdPanel,并用存储框架的变量名称替换myFrame。该示例将您的面板按三角形的形状排序-至少我将如何定义它-面板是三角形的角。我不太确定这是否是您要查找的内容,因为您没有非常准确地描述它。也许尝试添加一张图片,在上面绘制面板的确切组织方式,以便我们为您提供更准确的答案。

无论哪种方式,查看Swing官方教程站点都是一个好主意,因此您可以更好地了解Swing中的LayoutManagers如何实际工作,因为这将帮助您进一步开发GUI。根据我自己的经验,我可以说他们在那里很好地解释了一切。 顺便说一句,欢迎您使用Stack Overflow!

希望我能为您提供帮助。