【发布时间】:2015-10-12 20:58:00
【问题描述】:
我正在使用一个 JTextPane 对象,假设它的名称是 jtp,所以我可以用 italic 或 bold 显示一个有点短的字符串的一部分强>。我有一个字符串,我们将其命名为 otxt,它有一个换行符。鉴于我使用的是 Windows,这意味着 \r\n 并且它是使用
创建的System.getProperty("line.separator")
为了在它们完全形成之前消除所有疑虑,我将我的 String 转换为 char 数组,遍历 char 数组并在 Eclipse 控制台中通过强制转换为 int使用隐式转换将所有字符的代码写入> 是的,只有一个代码 13,代表 \r,只有一个代码 10,代表 \n。现在,如果我使用
jtp.setText(otxt);
一切正常 - 我从
转换为 char 数组jtp.getText()
并打印出所有字符的代码,我应该只有一个代码 13 (\r) 和一个代码 10 (\n)。但我需要以 italic 或 bold 显示 otxt 的某些部分,所以我必须使用
jtp.insertString(0 /*offset*/, otxt, attributeSet /*italic, bold or whatever stylistic property*/)
这是一个大问题:这会在我应该有\r\n 的地方创建\r\r\n。使用相同的程序确认这一点: 1) 从 jtp.getText() 到 char 数组的字符串; 2) 遍历数组; 3) 打印字符代码;我看到代码 13 (\r) 两次,代码 10 (\n) 一次。帮我解决这个问题。希望你觉得这个问题很有趣。
【问题讨论】:
标签: java swing newline jtextpane