2010-04-29 4 views
3

현재 스윙 UI 지정 작업 중입니다. 이 작업에는 JTextArea에서 대용량 파일 내용을 표시하는 작업이 포함됩니다. 파일 크기는 2GB까지 될 수 있습니다.JTextArea에 큰 파일 표시

나의 초기 아이디어는 파일에서 콘텐츠를 지연로드하는 것입니다. 예를 들어 1MB의 콘텐츠가 사용자에게 표시됩니다. 사용자가 스크롤하면 다음 1MB의 콘텐츠가 표시됩니다. 이 모든 작업은 백그라운드 스레드 (스윙 워커)에서 발생합니다.

JTextArea API를 살펴보면 insert 메서드는 String 및 int (삽입 위치)를 매개 변수로 사용합니다.

검색하면되는 콘텐츠 (한 번에 1MB)를 String 개체로 변환해야하기 때문에 성능이 걱정됩니다.

다른 해결 방법이 있습니까? 아니면 이에 대한 다른 대안/더 나은 해결책이 있습니까?

답변

4

효율성 문제는 문서 모델에 있습니다.

가는 길은 효과적인 사용자 정의 Document 구현을 제공하는 것일 수 있습니다.

그러나 개인적으로 개인적으로 재검토를 시도하고 다른 사용자 인터페이스를 사용하려고합니다. 누가 어쨌든 2GB의 데이터를 스크롤하고 싶습니까?