如何在多行上显示文本并对齐?

时间:2015-12-07 16:46:35

标签: java swing jtextarea textwrapping right-align

我想在多个行中显示文本,文本右对齐。

我尝试将JTextAreaComponentOrientation.RIGHT_TO_LEF T放在一起,但标点符号(?!)显示不正确。

enter image description here

2 个答案:

答案 0 :(得分:2)

您不能使用JTextArea

相反,您需要使用带有自定义段落属性的JTextPane

以下是将文本置于每一行中心的示例。

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

答案 1 :(得分:1)

为什么不在JTextArea中使用html,Java会正确显示它。 例如:

JLabel example = new JLabel();
example.setText("<html>This is the first line<br>This is the second</html>");