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

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

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

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

感谢您的帮助,非常感谢

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

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

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

DefaultStyledDocument在其构造函数中采用AbstractDocument.Content ,而JTextPane采用StyledDocument ,因此如果您定义该实现,则应该能够将其插入。

我没有试过这个,所以这只是一个建议 – 你可能能够在网上找到实现。