2012-05-01 18 views
3

我正在尝试改进文档显示组件的现有实现。表达的担忧之一是,当加载大量文本时,我们会得到一个OOM异常。JTextPane是否支持文本内存分页?

从我之前使用.net的经验来看,我确实知道某些基本组件实现了分页,因此并没有将所有文本都可视化地加载到文档中,因此事情不仅更快,而且希望避免OOM异常。

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

谢谢你的帮助是极大的赞赏

回答

0

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

3

似乎摇摆解耦其演示文档的实际存储。

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

DefaultStyledDocument发生在其构造方法的AbstractDocument.Content,并且JTextPane需要StyledDocument,所以如果你定义了实现你应该能够插上。

我没有尝试这样做,所以它只是一个建议 - 你可能能够在网上找到实现。