我正在尝试改进文档显示组件的现有实现。表达的担忧之一是,当加载大量文本时,我们会得到一个OOM异常。JTextPane是否支持文本内存分页?
从我之前使用.net的经验来看,我确实知道某些基本组件实现了分页,因此并没有将所有文本都可视化地加载到文档中,因此事情不仅更快,而且希望避免OOM异常。
所以我想知道是否有任何基础摆动组件,特别是JTextPanel,它支持这些功能?
谢谢你的帮助是极大的赞赏
我正在尝试改进文档显示组件的现有实现。表达的担忧之一是,当加载大量文本时,我们会得到一个OOM异常。JTextPane是否支持文本内存分页?
从我之前使用.net的经验来看,我确实知道某些基本组件实现了分页,因此并没有将所有文本都可视化地加载到文档中,因此事情不仅更快,而且希望避免OOM异常。
所以我想知道是否有任何基础摆动组件,特别是JTextPanel,它支持这些功能?
谢谢你的帮助是极大的赞赏
不,JTextPane
不支持内存页面。您可以创建一个Docuemnt
实例,并将文件内容读入Document
,而不在JTextPane
中安装Document
。 然后获得Document
的所需片段,并将其插入到另一个片段中,仅显示所需的片段。
似乎摇摆解耦其演示文档的实际存储。
我认为你应该能够通过定义一个AbstractDocument.Content
实现来实现你想要的功能,该实现负责内存管理(例如分页)。
的DefaultStyledDocument
发生在其构造方法的AbstractDocument.Content
,并且JTextPane
需要StyledDocument
,所以如果你定义了实现你应该能够插上。
我没有尝试这样做,所以它只是一个建议 - 你可能能够在网上找到实现。