Set style and text of a jTextPane using a StyledDocument
我正在创建一个基本的Swing应用程序。 我有jTextPane和一个按钮。 如果用户在jTextPane中选择文本并按下按钮,则它会将所选文本加粗。 这可以通过修改StyleDocument来完成。
我希望能够临时保存样式化文本,关闭先前的jTextPane,打开新的jTextPane,然后根据先前保存的样式化文本进行填充。 jTextPane在构造函数中采用了StyleDocument,但是当我尝试使用旧的StyleDocument构造新的jTextPane时,它似乎无法正常工作。 我认为这是因为我只是传递了先前被删除的先前jTextPane StyleDocument的引用。
有什么方法可以复制或克隆StyleDocument? 我了解它是一个接口,但是使用DefaultStyledDocument吗? 有更好的方法吗?
可以用新实例替换文档,例如 当您设置EditorKit或调用setText()时(setText在某些情况下会重新创建文档)。
因此,在完成所有准备工作后,将引用存储到旧文档时,请调用setDocument(oldDoc)。
或者,您可以存储旧内容,然后使用类似http://java-sl.com/editor_kit_tutorial.html的内容将其重新设置
阅读有关Reader和Writer的信息,并使用"示例"部分中的代码。