Java - выровняйте JTextArea по правому краю

Можно ли выровнять текст внутри JTextArea вправо (или вообще изменить выравнивание текста)?

|Left         |
|  Centered   |
|        Right|    <- Like this

Я искал часами, и кажется, что другие задавали этот вопрос раньше, но нет хороших ответов (которые действительно работают).

Заранее спасибо!


person Ood    schedule 19.06.2014    source источник
comment
Вы ищете выравнивание всего текста или только определенного текста в JTextArea?   -  person Braj    schedule 20.06.2014
comment
Я ищу выравнивание всего текста по горизонтали.   -  person Ood    schedule 20.06.2014
comment
Вы можете использовать JEditorPane?   -  person Braj    schedule 20.06.2014
comment
Да, полагаю, это возможно.   -  person Ood    schedule 20.06.2014


Ответы (2)


Попробуйте использовать JEditorPane или JTextPane вместо JTextArea.

Пожалуйста, посмотрите мой другой пост JEditorPane vertical aligment для полного примера кода.

Для получения дополнительной информации посетите эту ветку Вертикальное выравнивание текста в JEditorPane

Образец кода:

JTextPane output = new JTextPane();

SimpleAttributeSet attribs = new SimpleAttributeSet();
StyleConstants.setAlignment(attribs, StyleConstants.ALIGN_RIGHT);
output.setParagraphAttributes(attribs, true);

РЕДАКТИРОВАТЬ

Ты можешь попробовать

JTextArea jTextArea = new JTextArea();
jTextArea.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);

Узнайте больше о Как установить ориентация JTextArea справа налево

person Braj    schedule 19.06.2014

Вы должны использовать JTextPane, в этом случае лучше, чем JTextArea:

попробуйте этот код:

JTextPane textPane=new JTextPane();
StyledDocument style = textPane.getStyledDocument();
SimpleAttributeSet align= new SimpleAttributeSet();
StyleConstants.setAlignment(align, StyleConstants.ALIGN_RIGHT);
style.setParagraphAttributes(0, style.getLength(), align, false);

измените этот код, если хотите сделать текст:

+ в Справа:

StyleConstants.setAlignment(align, StyleConstants.ALIGN_RIGHT);

+ в Центре:

StyleConstants.setAlignment(align, StyleConstants.ALIGN_CENTER);

+ в Слева:

StyleConstants.setAlignment(align, StyleConstants.ALIGN_LEFT);

Взгляните на этот Центрирование текста в JTextArea или JTextPane - Выравнивание текста по горизонтали

person waroa kawa    schedule 12.04.2020