JTextPane是否支持文本内存分页?

时间:2012-05-01 15:14:31

标签: java swing memory paging jtextpane

我正在尝试改进文档显示组件的现有实现。表达的一个担忧是,当加载大量文本时,我们将获得OOM异常。

根据我之前使用.net的经验,我知道一些基本组件实现了分页,因此没有所有文本都可视化加载到文档中,因此事情不仅工作得更快,而且我们也希望避免OOM异常。 / p>

所以我想知道是否有支持这些功能的基本摆动组件,特别是JTextPanel?

感谢您的帮助,非常感谢

2 个答案:

答案 0 :(得分:3)

Swing似乎将文档的实际存储与其呈现分离。

我认为你应该能够通过定义一个负责内存管理(例如分页)的AbstractDocument.Content实现来获得你想要的功能。

DefaultStyledDocument在其构造函数中使用AbstractDocument.ContentJTextPane需要StyledDocument,因此如果您定义该实现,则应该能够将其插入。

我没有尝试过,所以这只是一个建议 - 您可以在线找到实现。

答案 1 :(得分:0)

不,JTextPane不支持内存页面。您可以创建Docuemnt实例并将文件内容读入Document,而无需在Document中安装JTextPane。 然后得到Document的所需片段并将其插入另一个仅显示所需片段的片段。