Search code examples
javaswingalignmentjtextarea

Java - Align JTextArea to the Right


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!


Solution

  • 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