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

Cri*_*zly 2 java swing layout-manager flowlayout

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

setLayout(new FlowLayout(FlowLayout.LEFT));
Run Code Online (Sandbox Code Playgroud)

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

cam*_*ckr 7

FlowLayout不支持该功能.

您可以在最后一个组件之前使用a horizontal BoxLayout和add glue.有关详细信息,请参阅Using Invisible ComponentsSwing教程中有关如何使用BoxLayout的部分.

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

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