【发布时间】:2014-10-12 18:32:10
【问题描述】:
我想在我的项目中添加超过 3 个面板 (GUI)。我将我的面板声明为top(NORTH)、center(CENTER) 和bottom(SOUTH)。
所以我的问题是,我可以在top 和center 或center 和south 之间添加第四个面板吗?
【问题讨论】:
标签: java swing user-interface layout jpanel
我想在我的项目中添加超过 3 个面板 (GUI)。我将我的面板声明为top(NORTH)、center(CENTER) 和bottom(SOUTH)。
所以我的问题是,我可以在top 和center 或center 和south 之间添加第四个面板吗?
【问题讨论】:
标签: java swing user-interface layout jpanel
您使用边框布局是否有原因?如果没有理由,我建议使用不同的布局。
假设您使用的是 swing,我建议您使用 GridLayout,因为您似乎只是将面板放在单个列中。您可以将 GridLayout 指定为具有 4 行、1 列(1 个面板/网格),这样您就可以直接向上和向下添加所有 4 个。当然,只有您可以决定使用什么,因为我们不知道您在构建什么。
【讨论】:
您是否使用 Swing 作为您的 gui 工具包?如果是这样,请为您的框架使用不同的布局管理器。
【讨论】:
您正在使用BorderLayout,它将可用空间分为 5 个区域。要获得更多信息,您可以创建一个新的JPanel,同时给它BorderLayout,并将其添加为外部容器的中心。
这样,您在外部 CENTER 区域内又有 5 个区域。
【讨论】:
如果您想拥有 5 个垂直 jpanel,那么您可以选择 Grid 或 box 布局。查看有关如何使用布局及其外观的 Orace 文档。 Oracle Documentation
【讨论】:
我认为你应该试试 BoxLayout。您正在使用只有 5 个区域的 BorderLayout。如果您想保持 NORTH 和 SOUTH 面板完好无损,请创建一个单独的面板,例如 center_panel 并提供如下布局
center_panel.setLayout(new BoxLayout(center_panel,BoxLayout.Y_AXIS));
然后将面板添加到 center_panel。它们将以垂直方式添加。
【讨论】: