我想在多行中显示文本并且文本右对齐。
我尝试将它JTextArea
与ComponentOrientation.RIGHT_TO_LEF
T 一起放入,但标点符号 (?!) 显示不正确。
您不能JTextArea
为此使用 a 。
相反,您需要使用JTextPane
带有自定义段落属性的 a。
这是一个将每行文本居中的示例。
JTextPane textPane = new JTextPane();
textPane.setText( "one\ntwo\nthree\nfour\nfive\nsix\nseven\neight" );
StyledDocument doc = textPane.getStyledDocument();
// Set alignment to be centered for all paragraphs
SimpleAttributeSet center = new SimpleAttributeSet();
StyleConstants.setAlignment(center, StyleConstants.ALIGN_CENTER);
doc.setParagraphAttributes(0, doc.getLength(), center, false);
为什么不直接在 JTextArea 中使用 html,Java 会正确显示它。例子:
JLabel example = new JLabel();
example.setText("<html>This is the first line<br>This is the second</html>");