【问题标题】:Aligning components on two panels which are using flow layouts在使用流布局的两个面板上对齐组件
【发布时间】:2013-03-24 19:56:48
【问题描述】:

我有两个使用流式布局的面板。这些面板具有相同数量的组件(标签和文本框)。如何对齐它们?

【问题讨论】:

  • 您可能会考虑使用第三方 LayoutManager(例如 MigLayout、FormLayout、DesignGridLayout 三大巨头之一) - 就个人而言,我认为没有一个核心管理器完全适合现实世界的使用:Spring- 和 GroupLayout专为视觉构建器和 GridBagLayout 使用而设计,但功能不够强大 :)

标签: java swing jpanel layout-manager flowlayout


【解决方案1】:

布局管理器不会以这种方式相互交流。除非组件大小相同,否则不能使用两个单独的 FlowLayout。

您也许可以使用 SpringLayout。或者更复杂的布局是 GridBagLayout 和 GroupLayout。

查看Using Layout Managers 上的 Swing 教程,了解工作示例以确定您想使用哪个。

【讨论】:

    【解决方案2】:

    当我硬编码一些东西时,我不能让它工作,比如尺寸。

    我建议至少改用 GridBagLayout。

    【讨论】:

    • 会从 Panel1 的布局中获取 Hgap 和 VGap 并设置为 Panel2 的布局工作吗?
    • 不,因为每个组件的间隙都是相同的。重要的是组件的首选大小。
    • 有两个面板,每个 FlowLayout 都不是最佳实践,相信我。 GridLayout、GridBagLayout、Absolute Layout、FormLayout 你会需要。我也用过 SpringLayout,但是那个组件不是免费的,是第三方的
    • SpringLayout 是 JDK 的一部分。使用它是免费的。
    【解决方案3】:

    GridBagLayout 是您想要使用的布局,如果您需要对齐组件等。阅读How to Use GridBagLayout

    【讨论】:

      猜你喜欢
      • 2022-01-19
      • 2017-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-18
      • 2012-11-23
      • 1970-01-01
      • 2014-02-19
      相关资源
      最近更新 更多