繁体   English   中英

如何在JPanel中将所有元素对齐到左侧?

[英]How can I align all elements to the left in JPanel?

我想让我的JPanel中的所有元素都对齐到左边。 我试着用以下方式做到这一点:

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(..) ,而不是在包含它们的容器上。

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方法。 以下是组件可以进入的每个位置的五个示例。示例是组件是否为按钮。 我们将它添加到JPanel,p。 该按钮将被称为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);

输入以下内容时不要忘记导入它:

import java.awt.BorderLayout;

BorderLayout类中还有其他方法涉及方向,但如果您对此感到好奇,可以自行研究。 我希望这有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM