Does JTextPane support text memory paging?

2020-04-11 18:23发布

I'm trying to improve an existing implementation of document displaying component. One of the concerns expressed, that when loading a large bulk of text we will get an OOM exception.

From my previous experience with .net I do know that some base component implement paging, hence no all the text is visual loaded into the document hence things not only work faster but we will also, hopefully, avoid an OOM exception.

So I was wondering are there any base swing components, specifically JTextPanel, which support these capabilities?

Thank you for your help it is greatly appreciated

2条回答
相关推荐>>
2楼-- · 2020-04-11 19:04

It seems that Swing decouples the actual storage of the document from its presentation.

I think you should be able to have the functionality you want by defining an AbstractDocument.Content implementation which takes care of the memory management (e.g. paging).

The DefaultStyledDocument takes an AbstractDocument.Content in its constructor, and the JTextPane takes a StyledDocument, so if you define that implementation you should be able to plug it in.

I haven't tried this, so it's just a suggestion - you might be able to find implementations online.

查看更多
贪生不怕死
3楼-- · 2020-04-11 19:07

No, The JTextPane does not support memory pages. You can create a Docuemnt instance and read the file content into the Document without installing the Document in the JTextPane. Then get desired fragment of the Document and insert it into another one showing the desired fragment only.

查看更多
登录 后发表回答