将JLabel中的文本右对齐

Luc*_*uca 43 java jlabel jpanel text-alignment

我有一个JPanel,其中一些JLabel添加了JPanel的add()方法.我想将JLabel对齐到右边,如下图所示,但我不知道该怎么做.任何的想法?谢谢!

在此输入图像描述

Séb*_*nec 78

这可以通过两种方式完成.

JLabel水平对齐

您可以使用JLabel 构造函数:

JLabel(String text, int horizontalAlignment) 
Run Code Online (Sandbox Code Playgroud)

要对齐右边:

JLabel label = new JLabel("Telephone", SwingConstants.RIGHT);
Run Code Online (Sandbox Code Playgroud)

JLabel还有setHorizontalAlignment:

label.setHorizontalAlignment(SwingConstants.RIGHT);
Run Code Online (Sandbox Code Playgroud)

这假定组件占据容器中的整个宽度.

使用布局

另一种方法是使用布局实际将组件对齐到右侧,同时确保它们不占用整个宽度.这是一个例子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);
Run Code Online (Sandbox Code Playgroud)


Bar*_*rts 8

JLabel label = new JLabel("fax", SwingConstants.RIGHT);
Run Code Online (Sandbox Code Playgroud)