我如何将所有元素在JPanel中左alignment?

我想让我的JPanel中的所有元素都alignment到左边。 我尝试用下面的方法来做:

JPanel panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); panel.setAlignmentX(Component.LEFT_ALIGNMENT); 

因此,Java使用所有元素的左侧作为元素的位置,然后将所有元素放在JPanel的中间(而不是左侧)。

我发现将对象放在左边最简单的方法是使用FlowLayout。

 JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT)); 

正常情况下向该面板添加组件将放置在左侧

你应该使用setAlignmentX(..)在你想要alignment的组件上,而不是在有它们的容器上。

 JPanel panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); panel.add(c1); panel.add(c2); c1.setAlignmentX(Component.LEFT_ALIGNMENT); c2.setAlignmentX(Component.LEFT_ALIGNMENT); 

我最喜欢使用的方法是BorderLayout方法。 以下是组件可以进入的每个位置的五个示例。示例是如果组件是button。 我们将它添加到JPanel,p。 该button将被称为b。

 //To align it to the left p.add(b, BorderLayout.WEST); //To align it to the right p.add(b, BorderLayout.EAST); //To align it at the top p.add(b, BorderLayout.NORTH); //To align it to the bottom p.add(b, BorderLayout.SOUTH); //To align it to the center p.add(b, BorderLayout.CENTER); 

不要忘了input以下内容:

 import java.awt.BorderLayout; 

在BorderLayout类中还有其他的方法涉及到方向等东西,但是如果你对此有兴趣,你可以自己做一些研究。 我希望这有助于!