在单个JFrame中添加多个JPanel

时间:2012-06-12 07:34:50

标签: java swing user-interface netbeans layout-manager

我创建了JFrame - 现在我想在特定位置添加该帧中的4 JPanel。如何在框架中设置面板的位置?

5 个答案:

答案 0 :(得分:3)

为逻辑使用(可能是嵌套的 1 )布局。有关详细信息,请参阅Laying Out Components Within a Container。他们可以:

  • 在构造函数中包含默认空格(通常)
  • 计算GUI显示组件所需的大小(无论是PLAF,还是部署应用程序的任何系统)。

可以通过向子组件添加EmtpyBorder来组织额外的间距。

  1. 请参阅nested layout example

答案 1 :(得分:2)

在Swing中将组件放置在容器中是一个非常复杂的主题。您通常会使用布局管理器以某种方式排列它们,而不是为您的组件定义确切的位置。

以下是您应阅读的教程,以获取有关不同布局管理器的(可视)线索:A Visual Guide to Layout Managers

但是,Swing的标准布局管理器对于更复杂的布局来说可能很麻烦。您可以使用嵌套布局来获得所需的结果,也可以使用功能非常强大的第三方库:JGoodies Forms。缺点当然是你必须学习另一个图书馆。因此,我只会推荐它用于更大的项目。

答案 2 :(得分:0)

如果它的4个位置,您可以使用BorderLayout,默认情况下它是CENTER,但它也有EAST,WEST,NORTH,SOUTH位置用于放置组件。如果setLocation,您还可以使用layout isn't used将面板放在适当的位置。

使用GroupLayout在2005年开发我的NetBeans团队更好,使用现在由谷歌免费提供的Windows Builder Pro。

答案 3 :(得分:0)

对我来说,这是为框架容器设置GridbagLayout的好方法。有几个可视化摆动GUI编辑器可以轻松完成此操作。您可以使用NetBeans GUI编辑器或GWT Designer(https://developers.google.com/web-toolkit/tools/gwtdesigner/)进行复杂的GUI设计任务

答案 4 :(得分:-2)

  1. 通过setLayout(null)
  2. 将Frame的布局设置为null
  3. 创建4个JPanel并使用setLocation方法
  4. 设置其位置
  5. 使用JFrame的add方法
  6. 添加这些面板