Java - Align JTextArea to the Right

20,615

Solution 1

Try with JEditorPane or JTextPane instead of JTextArea.

Please have a look at my another post JEditorPane vertical aligment for complete sample code.

For more info have a look at this thread Vertical Alignment of Text in JEditorPane

Sample code:

JTextPane output = new JTextPane();

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

EDIT

You can try

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

Read more about How to set the orientation of JTextArea from right to left

Solution 2

You have to use JTextPane, It's better than JTextArea on this case:

try this code:

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

modify this code If You want to make the text:

+in the Right :

StyleConstants.setAlignment(align, StyleConstants.ALIGN_RIGHT);

+in the Center :

StyleConstants.setAlignment(align, StyleConstants.ALIGN_CENTER);

+in the Left :

StyleConstants.setAlignment(align, StyleConstants.ALIGN_LEFT);

Take a look at this Centering Text in a JTextArea or JTextPane - Horizontal Text Alignment

Share:
20,615
Ood
Author by

Ood

Updated on July 10, 2022

Comments

  • Ood
    Ood almost 2 years

    I it possible to align the text inside a JTextArea to the right (or change the text alignment in general)?

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

    I've been searching for hours and it seems others have asked this question before but there are no good answers (that actually work).

    Thanks in advance!