У меня есть JPanel с некоторым JLabel, добавленным с помощью метода add() JPanel. Я хочу выровнять JLabel справа, как показано ниже, но я не знаю, как это сделать. Есть идеи? Спасибо!
Ответ 1
Это можно сделать двумя способами.
Горизонтальное выравнивание JLabel
Вы можете использовать конструктор JLabel :
JLabel(String text, int horizontalAlignment)
Чтобы выровнять по правому краю:
JLabel label = new JLabel("Telephone", 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);