web-dev-qa-db-ja.com

JPanelですべての要素を左に揃えるにはどうすればよいですか?

JPanelのすべての要素を左に揃えたいと思います。私は次の方法でそれをしようとします:

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

結果として、Javaすべての要素の左側を要素の位置として使用し、すべての要素をJPanelの中​​央(左側ではなく)に配置します。

40
Roman

オブジェクトを左側に配置するのに最も簡単な方法は、FlowLayoutを使用することです。

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

通常、このパネルにコンポーネントを追加すると、左側に配置されます

96
Chris

配置するコンポーネントではなく、配置するコンポーネントで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);
13
Jack

使用するお気に入りのメソッドは、BorderLayoutメソッドです。以下に、コンポーネントを配置できる各位置の5つの例を示します。この例は、コンポーネントがボタンである場合の例です。 JPanelに追加します。ボタンは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クラスには、方向などを含む他のメソッドもありますが、興味がある場合は独自の調査を行うことができます。これがお役に立てば幸いです!

0
user3696866