我创建了一个JFrame
- 现在我想JPanel
在该框架中的特定位置添加 4。如何设置面板在框架中的位置?
5 回答
将组件放置在容器中是 Swing 中相当复杂的主题。您通常会使用以某种方式排列它们的布局管理器,而不是为您的组件定义确切的位置。
这是您应该阅读的教程,以获得有关不同布局管理器的(视觉)线索:布局管理器的视觉指南
但是,对于更复杂的布局,Swing 的标准布局管理器可能会很麻烦。或者,您可以使用嵌套布局来获得所需的结果,或者您可以使用非常强大的第三方库:JGoodies Forms。当然,缺点是您必须学习另一个库。因此,我只推荐它用于更大的项目。
对我来说,为框架的容器设置 GridbagLayout 是个好方法。有几个可视化的摆动 GUI 编辑器可以轻松地做到这一点。您可以使用 NetBeans GUI 编辑器或 GWT Designer (https://developers.google.com/web-toolkit/tools/gwtdesigner/) 来完成复杂的 GUI 设计任务
如果它有 4 个位置,您可以使用BorderLayout
,默认情况下它的 CENTRE,但它也有 EAST、WEST、NORTH、SOUTH 位置用于放置组件。如果. setLocation
_layout isn't used
最好使用GroupLayout
我在 2005 年开发的 NetBeans 团队,使用现在由 google 免费提供的 Windows Builder Pro。
- 通过将 Frame 的布局设置为 null
setLayout(null)
- 创建4个JPanel并使用
setLocation
方法设置它们的位置 add
使用 JFrame 的方法添加这些面板