JEdi​​torPane新行的意外行为

时间:2018-03-14 15:08:56

标签: java swing jeditorpane

我正在尝试突出显示JEditorPane文本字段中的文本并保存所选文本的索引。但是,当我保存选择时,我一直遇到问题。 JEdi​​torPane似乎每次都以不同的方式保存新线。当用户按下回车键时,它会写"\n""\r",有时甚至是"\r\n"。有时,JEditorPane甚至会忽略导致错误选择指数的回车。

当用户按下回车键时,是否可以获得一致的行为?

1 个答案:

答案 0 :(得分:1)

为什么使用JEditorPane?这是为了显示HTML和HTML通常没有换行符。你使用" br" HTML中的标记。对于普通文本,您应该使用JTextPane或JTextArea。

  

我正在尝试突出显示文字

字符串中的文本取决于您使用的组件以及是否从Document或组件中获取文本。

一般情况下,您应该从文档中获取文本,因为文档只存储" \ n"所以你应该能够正确计算偏移并突出显示文本。

当您从组件中获取文本时,平台新行String将插入到文本中,这将导致您的偏移问题。

有关详细信息,请参阅Text and New Lines