web-dev-qa-db-ja.com

JLabelのテキストを右に揃える

JPanelのadd()メソッドでJLabelを追加したJPanelがあります。下の画像のようにJLabelを右に揃えたいのですが、どうすればいいのかわかりません。何か案が?ありがとう!

enter image description here

43
Luca

これには2つの方法があります。

JLabel水平方向の配置

JLabelconstructor を使用できます。

JLabel(String text, int horizontalAlignment) 

右に揃えるには:

JLabel label = new JLabel("Telephone", SwingConstants.RIGHT);

JLabelにはsetHorizontalAlignmentもあります:

label.setHorizontalAlignment(SwingConstants.RIGHT);

これは、コンポーネントがコンテナ内の幅全体を占めることを前提としています。

レイアウトの使用

別のアプローチは、レイアウトを使用して、コンポーネントを実際に右に揃えながら、幅全体を使用しないようにすることです。 BoxLayoutの例を次に示します。

    Box box = Box.createVerticalBox();
    JLabel label1 = new JLabel("test1, the beginning");
    label1.setAlignmentX(Component.RIGHT_ALIGNMENT);
    box.add(label1);

    JLabel label2 = new JLabel("test2, some more");
    label2.setAlignmentX(Component.RIGHT_ALIGNMENT);
    box.add(label2);

    JLabel label3 = new JLabel("test3");
    label3.setAlignmentX(Component.RIGHT_ALIGNMENT);
    box.add(label3);


    add(box);
JLabel label = new JLabel("fax", SwingConstants.RIGHT);
8
Bart Blommaerts