2012-09-25 87 views
31

我有一個JPanel,JPanel的add()方法中添加了一些JLabel。我想將JLabel對齊到如下圖所示的右側,但我不知道如何去做。任何想法?謝謝!將JLabel中的文本對齊到右邊

enter image description here

+0

你想在標籤的文本水平對齊? –

回答

66

這可以通過兩種方式來完成。

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); 
5
JLabel label = new JLabel("fax", SwingConstants.RIGHT);