【发布时间】:2014-06-19 23:53:38
【问题描述】:
我已将所有 FlowLayout 元素设置为向左浮动:
setLayout(new FlowLayout(FlowLayout.LEFT));
但我希望最后(右手边)的那个浮动到右边,我怎样才能让除了一个浮动之外的所有东西都向左浮动?
【问题讨论】:
标签: java swing layout-manager flowlayout
我已将所有 FlowLayout 元素设置为向左浮动:
setLayout(new FlowLayout(FlowLayout.LEFT));
但我希望最后(右手边)的那个浮动到右边,我怎样才能让除了一个浮动之外的所有东西都向左浮动?
【问题讨论】:
标签: java swing layout-manager flowlayout
FlowLayout 不支持该功能。
您可以使用horizontal BoxLayout 并在最后一个组件之前添加glue。有关详细信息,请参阅 How to Use BoxLayout 上的 Swing 教程中的 Using Invisible Components 部分。
BoxLayout 的一个问题是它不会自动在组件之间留出空格,因此您还需要为每个空格添加一个Box.createHorizontalStrut(...)。
或者另一种选择是创建使用 BorderLayout 的第二个面板。然后,您将带有 flowLayout 的面板添加到 LINE_START,然后将最后一个组件添加到 LINE_END。您可能还需要向该组件添加 EmptyBorder 以提供适当的间距。
【讨论】: