本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

每次我想清除一个 DefaultStyledDocument 并重新开始时就构建一个新的 DefaultStyledDocument,这是不好的形式吗?

发布于2024-11-23 20:22     阅读(1037)     评论(0)     点赞(8)     收藏(5)


我的程序最终StyledDocument从一个 (A) 中获取一个对象JTextPane并将其传递给另一个JTextPane(B)。传递完成后,我希望JTextPane(A) 中没有文本和任何格式,并且基本上是使用其默认设置的全新对象JTextPane。为此,我目前正在执行类似以下操作:

//make things
JTextPane inputField = new JTextPane();
JTextPane outputField = new JTextPane();

//move inputField text (with formatting) from inputField to outputField
StyledDocument doc = inputField.getStyledDocument();
EditorKit kit = inputField.getEditorKit();
outputField.setStyledDocument(doc);
outputField.setEditorKit(kit);
outputField.revalidate();

//reset the inputField so that it's fresh and ready for new input
inputField.setStyledDocument(new DefaultStyledDocument());
inputField.setEditorKit(new StyledEditorKit());

我意识到在这个例子中我没有移动任何文本或格式(只是一个空白的文档对象),但这些是我正在执行的操作,并且我很好奇“更新”套件和文档是否是一种将我的设置重置为默认JTextPane设置的偷懒方法。提前致谢!


解决方案


在我看来,创建一个新的文档实例是完全没问题的。事实上,这样做速度更快,因为侦听器不会更新视图以反映空内容Document,然后再反映新Document's内容。

顺便说一句:如果是同一类,则无需重置套件。只需调用setDocument()



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/693773/6463f993b692cfa36d7a/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

8 0
收藏该文
已收藏

评论内容:(最多支持255个字符)