Подтвердить что ты не робот

Выровнять текст в JLabel вправо

У меня есть JPanel с некоторым JLabel, добавленным с помощью метода add() JPanel. Я хочу выровнять JLabel справа, как показано ниже, но я не знаю, как это сделать. Есть идеи? Спасибо!

enter image description here

4b9b3361

Ответ 1

Это можно сделать двумя способами.

Горизонтальное выравнивание JLabel

Вы можете использовать конструктор JLabel :

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);

Ответ 2

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