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

setLayout(new FlowLayout(FlowLayout.LEFT));


但是我想让末端的一个(右侧)向右浮动,如何使除一个以外的所有浮动向左移动?

最佳答案

FlowLayout不支持该功能。

您可以使用horizontal BoxLayout并将glue添加到最后一个组件之前。有关更多信息,请参见Swing教程How to Use BoxLayoutUsing Invisible Components的部分。

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

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

关于java - 使除1个元素外的所有元素都向左 float FlowLayout,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24317998/

10-12 14:18