我正在创建一个基本的Swing applcation。我有 jTextPane 和一个按钮。如果用户在 jTextPane 中选择文本并按下按钮,则会粗体显示所选文本。这是通过修改 StyleDocument 来完成的。
我希望能够暂时保存样式文本,关闭之前的 jTextPane ,打开一个新的 jTextPane ,并根据之前保存的样式文本填充它。 jTextPane 在构造函数中使用 StyleDocument ,但是当我尝试使用旧的 StyleDocument 构造一个新的jTextPane时,它似乎不是工作。我认为这是因为我只是传入了前一个jTextPane StyleDocument的引用,最终删除了该引用。
有没有办法复制或克隆StyleDocument?我理解它是一个接口,但它是否使用DefaultStyledDocument?有没有更好的方法呢?
答案 0 :(得分:2)
文档可以替换为新实例,例如当你设置EditorKit或调用setText()时(setText在某些情况下重新创建文档)。
因此,在完成所有准备工作后,将引用存储到旧的Document调用setDocument(oldDoc)。
或者您可以存储旧内容并使用此类http://java-sl.com/editor_kit_tutorial.html
进行设置阅读读者和作家,并使用"示例"部分。