3

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

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

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

感谢您的帮助,非常感谢

4

2 回答 2

3

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

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

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

我还没有尝试过,所以这只是一个建议——你也许可以在网上找到实现。

于 2012-05-01T15:43:56.647 回答
0

不,JTextPane不支持内存页。您可以创建一个Docuemnt实例并将文件内容DocumentDocumentJTextPane. 然后获取所需的片段Document并将其插入另一个仅显示所需片段的片段。

于 2012-05-02T07:14:06.490 回答