我正在尝试改进文档显示组件的现有实现。表达的一个担忧是,当加载大量文本时,我们将获得OOM异常。
根据我之前使用.net的经验,我知道一些基本组件实现了分页,因此没有所有文本都可视化加载到文档中,因此事情不仅工作得更快,而且我们也希望避免OOM异常。 / p>
所以我想知道是否有支持这些功能的基本摆动组件,特别是JTextPanel?
感谢您的帮助,非常感谢
答案 0 :(得分:3)
Swing似乎将文档的实际存储与其呈现分离。
我认为你应该能够通过定义一个负责内存管理(例如分页)的AbstractDocument.Content
实现来获得你想要的功能。
DefaultStyledDocument
在其构造函数中使用AbstractDocument.Content
,JTextPane
需要StyledDocument
,因此如果您定义该实现,则应该能够将其插入。
我没有尝试过,所以这只是一个建议 - 您可以在线找到实现。
答案 1 :(得分:0)
不,JTextPane
不支持内存页面。您可以创建Docuemnt
实例并将文件内容读入Document
,而无需在Document
中安装JTextPane
。
然后得到Document
的所需片段并将其插入另一个仅显示所需片段的片段。