0

我想在多行中显示文本并且文本右对齐。

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

在此处输入图像描述

4

2 回答 2

2

您不能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);
于 2015-12-07T16:53:40.987 回答
1

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

JLabel example = new JLabel();
example.setText("<html>This is the first line<br>This is the second</html>");
于 2015-12-07T17:06:00.637 回答