2

我正在创建一个基本的 Swing 应用程序。我有jTextPane和一个按钮。如果用户在jTextPane中选择文本并按下按钮,它会将所选文本加粗。这是通过修改StyleDocument来完成的。

我希望能够暂时保存样式文本,关闭以前的jTextPane,打开一个新的jTextPane,然后根据以前保存的样式文本填充它。jTextPane在构造函数中采用StyleDocument,但是当我尝试使用旧的 StyleDocument 构造新的 jTextPane 时它​​似乎不起作用。我认为这是因为我只是传入了最终被删除的先前 jTextPane StyleDocument 的引用。

有什么方法可以复制或克隆 StyleDocument?我知道它是一个界面,但它使用的是 DefaultStyledDocument 吗?有没有更好的方法来做到这一点?

4

1 回答 1

3

文档可以用新实例替换,例如当您设置 EditorKit 或调用 setText() 时(setText 在某些情况下会重新创建文档)。

因此,当您在所有准备工作完成后将引用存储到旧文档调用 setDocument(oldDoc) 时。

或者您可以存储旧内容并使用类似http://java-sl.com/editor_kit_tutorial.html

阅读 Reader 和 Writer 并使用“示例”部分中的代码。

于 2012-03-02T06:43:08.123 回答