我在创造一个基本的摇摆鼓掌。我有jTextPane和一个按钮。如果用户选择jTextPane中的文本并按下该按钮,它将显示所选文本。这是通过修改StyleDocument完成的。
我希望能够暂时保存样式文本,关闭前一个jTextPane,打开一个新的jTextPane,并根据以前保存的样式文本填充它。jTextPane在构造函数中接受一个StyleDocument,但是当我尝试用旧的StyleDocument构造一个新的jTextPane时,它似乎不起作用。我想这是因为我只是传递来自上一个jTextPane StyleDocument的引用,这个引用最终被删除了。
有没有复制或克隆StyleDocument的方法?我知道它是一个接口,但它使用的是DefaultStyledDocument吗?有更好的方法吗?
发布于 2012-03-02 06:43:08
可以用新实例替换文档,例如设置EditorKit或调用setText() (在某些情况下,setText重新创建文档)。
因此,当您存储对旧文档的引用时,请在所有准备工作完成后调用setDocument(oldDoc)。
或者您可以存储旧内容并使用下面的http://java-sl.com/editor_kit_tutorial.html设置它。
阅读有关Reader和Writer的内容,并使用“示例”部分中的代码。
https://stackoverflow.com/questions/9528909
复制相似问题