我已将所有FlowLayout
元素设置为向左浮动:
setLayout(new FlowLayout(FlowLayout.LEFT));
但我希望最后(右手边)的那个向右浮动,我怎么能让除了一个浮动之外的所有浮动?
答案 0 :(得分:7)
FlowLayout不支持该功能。
您可以使用horizontal BoxLayout
并在最后一个组件之前添加glue
。有关详细信息,请参阅How to Use BoxLayout上Swing教程中的Using Invisible Components
部分。
BoxLayout的一个问题是,它不会自动在组件之间留出空格,因此您还需要为每个空间添加Box.createHorizontalStrut(...)
。
或另一种选择是创建使用BorderLayout的第二个面板。然后,您将带有flowLayout的面板添加到LINE_START,然后将最后一个组件添加到LINE_END。您可能还需要向此组件添加EmptyBorder以提供适当的间距。