【问题标题】:Which layout managers can arrange JPanels like in the picture?哪些布局管理器可以像图中那样排列 JPanel?
【发布时间】:2021-08-25 00:16:53
【问题描述】:

我需要一个可以在 JFrame 中排列 JPanel 的布局管理器,如图所示。 JPanel 既不在行也不在列中。 我在演示中使用了绝对布局并将每个 JPanel 着色为可见。

【问题讨论】:

  • 假设有 4 个可见的 JPanel,灰色和右侧的棕褐色 JPanel 位于带有 BorderLayout 的内部 JPanel 内。灰色的 JPanel 位于中间,右侧的棕褐色面板位于东方。内层JPanel在一个外层JPanel里面,在北的位置,浅紫色的JPanel在南边。左侧选项卡 JPanel 位于西部的外部 JPanel 内。
  • GridBagLayout 可以做大多数你能想象到的事情,但使用起来有点挑剔。多个嵌套的JPanel 使用更简单的BorderLayout 方式可能更容易实现。
  • 您需要额外的要求,例如当框架水平或垂直调整大小时,每个面板如何调整大小?这是布局管理中最重要的部分。另一个关键是您永远不会局限于单个布局管理器。您可以将面板与不同的布局管理器混合搭配,以实现您的布局。阅读 Layout Mangers 上的 Swing 教程并开始试验。

标签: java swing layout-manager


【解决方案1】:

如果(1)蓝色面板需要在框架展开时获得额外的宽度和高度,灰色面板获得额外的高度,而浅蓝色区域获得额外的宽度,我会使用一个 BorderLayout 两个蓝色RHS 上的面板和灰色面板,以及该面板和左侧灰色面板的 BorderLayout

  1. 当然,这一切都取决于在放大框架时应该如何分配大小。将来提供 ASCII 艺术或以最小尺寸如果可调整大小预期 GUI 布局的简单绘图,具有更大的宽度和高度- 显示应该如何使用额外的空间。

在这张图片中,红色和绿色框(大致)勾勒出两个面板,每个面板都有一个BorderLayout。不同区域中的彩色文本表示用于在面板中定位容器的布局约束。

【讨论】:

    猜你喜欢
    • 2016-03-22
    • 2011-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-29
    • 2018-05-02
    • 2015-06-17
    • 2020-07-15
    相关资源
    最近更新 更多