2012-05-01 2 views
3

문서 표시 구성 요소의 기존 구현을 개선하려고합니다. 큰 텍스트를로드 할 때 OOM 예외가 발생한다는 우려 사항 중 하나가 나타납니다.JTextPane은 텍스트 메모리 페이징을 지원합니까?

.net에 대한 이전 경험에서 알 수 있듯이 일부 기본 구성 요소는 페이징을 구현하므로 모든 텍스트가 문서에 시각적으로로드되지 않으므로 작업 속도가 빨라질뿐만 아니라 OOM 예외를 피할 수 있습니다.

그래서 이러한 기능을 지원하는 기본 스윙 컴포넌트, 특히 JTextPanel이 궁금합니다.

은 크게 그 스윙이 프리젠 테이션에서 문서의 실제 스토리지를 분리한다 보인다

답변

0

아니요, JTextPane은 메모리 페이지를 지원하지 않습니다. Docuemnt 인스턴스를 만들고 DocumentJTextPane에 설치하지 않고 파일 내용을 Document으로 읽을 수 있습니다. 그런 다음 Document의 원하는 단편을 가져 와서 원하는 단편 만 보여주는 다른 단편에 삽입하십시오.

3

을 감사합니다 당신의 도움을 주셔서 감사합니다.

메모리 관리 (예 : 페이징)를 담당하는 AbstractDocument.Content 구현을 정의하여 원하는 기능을 구현할 수 있어야한다고 생각합니다.

DefaultStyledDocument는 생성자의 AbstractDocument.Content 소요되며, 당신이 구현 당신이에 연결 할 수 있어야한다고 정의 할 경우 있도록 JTextPaneStyledDocument 걸립니다. 나는이 시도하지 않은

을 그냥 그래서 제안 - 온라인 구현을 찾을 수 있습니다.

관련 문제