使除了1个元素之外的所有元素浮动FlowLayout

时间:2014-06-19 23:53:39

标签: java swing layout-manager flowlayout

我已将所有FlowLayout元素设置为向左浮动:

setLayout(new FlowLayout(FlowLayout.LEFT));

但我希望最后(右手边)的那个向右浮动,我怎么能让除了一个浮动之外的所有浮动?

1 个答案:

答案 0 :(得分:7)

FlowLayout不支持该功能。

您可以使用horizontal BoxLayout并在最后一个组件之前添加glue。有关详细信息,请参阅How to Use BoxLayout上Swing教程中的Using Invisible Components部分。

BoxLayout的一个问题是,它不会自动在组件之间留出空格,因此您还需要为每个空间添加Box.createHorizontalStrut(...)

或另一种选择是创建使用BorderLayout的第二个面板。然后,您将带有flowLayout的面板添加到LINE_START,然后将最后一个组件添加到LINE_END。您可能还需要向此组件添加EmptyBorder以提供适当的间距。