Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何填充JTextPane_Java_String_Swing_Jtextpane - Fatal编程技术网

Java 如何填充JTextPane

Java 如何填充JTextPane,java,string,swing,jtextpane,Java,String,Swing,Jtextpane,我有一个字符串数组,希望将它们逐个添加到JTextPane,每个字符串之间用新行分隔。我将如何实现这一目标?使用新的行: String separator = System.getProperty( "line.separator" ); StringBuilder sb = new StringBuilder(); for (String s : myStringArray) { sb.append(s + separator); } myTextPane.setText(sb.toS

我有一个字符串数组,希望将它们逐个添加到
JTextPane
,每个字符串之间用新行分隔。我将如何实现这一目标?

使用新的行:

String separator = System.getProperty( "line.separator" );
StringBuilder sb = new StringBuilder();
for (String s : myStringArray) {
    sb.append(s + separator);
}
myTextPane.setText(sb.toString());
编辑:我在一个中发现,它提到了属性的用法,这很有意义,因为
JTextPane
扩展了使用文档的
JEditorPane
。我愿意试一试。此外,在中,还写有:

有关如何处理换行符的讨论,请参阅DefaultEditorKit

首先用“\n |字符作为分隔符创建行。第二次调用

textPane.getDocument().insertString(textPane.getDocument().getLength(), theSumOfStrings, new SimpleAttributeSet());

上面的代码添加了文本,但没有将每个字符串放在单独的一行。@SolerMani-很抱歉,我已经没有主意了。在对您给我的代码进行了一点修改后,它终于起作用了。非常感谢-1,您不应该在新行中使用system属性。Swing文档使用“\n”“作为一个新行字符,无论您使用的是什么平台。在Windows平台上,无论如何“\r\n”字符串将被替换为“\n”,因此您的建议应该有效。然而,由于你提出的原因,它不会起作用,这就是为什么我投了反对票。获取文档的文本表示形式后,“\n”将替换为系统新行属性。