【问题标题】:How to get the west and east of a BorderLayout attached?如何连接 BorderLayout 的西部和东部?
【发布时间】:2014-09-26 20:48:13
【问题描述】:

这是具有 BorderLayout 的面板通常的外观:

我不想在中间放任何东西,所以东西用空格隔开。如何让它们连接起来?如果没有办法,我应该改用什么其他布局? 谢谢

【问题讨论】:

  • 有什么原因你不能使用像 west 和 center 这样的东西,而不能使用east?听起来它会得到你想要的布局。

标签: java swing border-layout


【解决方案1】:

您可以简单地在所需部分添加图形元素并忽略其他部分:

add(element1, BorderLayout.WEST);
add(element2, BorderLayout.EAST);

如果你想在中心有一个空间,请明确添加:

add(new JLabel(" "), BorderLayout.CENTER);

【讨论】:

    【解决方案2】:

    您可以在不使用 BorderLayout 的情况下通过多种方式设置样式,这是我推荐的,因为 BorderLayout 的设计考虑了内容的中心。

    在没有中心的情况下呈现西方和东方最简单的是GridLayout,有 1 行和 2 列。

    如果您仍然想要包含北和南,则可以将 GridLayout 从上方放置到 1 列 x 3 行 GridLayout 的第二行。

    如果您想要更多的复杂性和灵活性,您可以使用GridBagLayout,它类似于超级 GridLayout。然后,您可以设置 2 列、3 行设置,并在各自的行中指定 North 和 South 2 列,然后 East 和 West 获得自己的单个单元格。

    【讨论】:

      【解决方案3】:

      将面板添加到边框布局的中心位置,使用 2 列的网格布局,然后将东西向内容添加到面板。

      如果您希望西方和东方都在宽度方面占据显示器的一半,则此方法很好。

      类似于 Compass 的回答。

      【讨论】:

        猜你喜欢
        • 2013-05-14
        • 1970-01-01
        • 2015-04-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多