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

Rom*_*man 40 java alignment jpanel

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

JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
panel.setAlignmentX(Component.LEFT_ALIGNMENT);
Run Code Online (Sandbox Code Playgroud)

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

小智 97

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

JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT));
Run Code Online (Sandbox Code Playgroud)

通常在此面板中添加组件会将其放在左侧

  • 有或没有演员,它在我的情况下不起作用. (7认同)

Jac*_*ack 13

您应该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);
Run Code Online (Sandbox Code Playgroud)

  • 我不这么认为.`setAlignementX(Component.LEFT_ALIGNEMENT)`表示组件的左侧将用于对齐元素.元素仍将与JPanel的中心对齐. (5认同)
  • 杰克,你是正确的,这个方法用于按钮,但它没有你描述的效果.它没有定义按钮的位置.它定义了用于对齐的按钮部分.例如,按钮的"LEFT"侧将用于将按钮放在中间(按钮的左侧将放入中心). (2认同)