我可以将JTextArea中的文本对齐到右边(或者更改一般的文本对齐方式)吗?
|Left |
| Centered |
| Right| <- Like this
我一直在搜索几个小时,似乎其他人之前已经问过这个问题,但没有好的答案(实际上有效)。
提前致谢!
答案 0 :(得分:7)
尝试使用JEditorPane
或JTextPane
代替JTextArea
。
请查看我的另一篇文章JEditorPane vertical aligment以获取完整的示例代码。
有关详细信息,请查看此帖子Vertical Alignment of Text in 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);
详细了解How to set the orientation of JTextArea from right to left
答案 1 :(得分:1)
您必须使用 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);
看看这个Centering Text in a JTextArea or JTextPane - Horizontal Text Alignment