tôi không có bất kỳ kinh nghiệm trong việc này nhưng nếu bạn thực sự cần phải tải các tập tin lớn, tôi đề nghị bạn làm một số loại tải lười biếng với JTextPane/JEditorPane.
Xác định giới hạn mà JTextPane/JEditorPane có thể xử lý tốt (như 500KB hoặc 1MB). Bạn sẽ chỉ cần tải một đoạn tệp vào bộ điều khiển có kích thước này.
Bắt đầu bằng cách tải phân vùng thứ nhất của tệp.
Sau đó, bạn cần phải tương tác với vùng chứa cuộn và xem nó đã đến cuối/đầu của đoạn hiện tại của tệp. Nếu vậy, hiển thị một con trỏ chờ đợi tốt đẹp và tải đoạn trước đó/tiếp theo vào bộ nhớ và vào điều khiển văn bản.
Đoạn tải được tính từ vị trí con trỏ hiện tại của bạn trong tệp (offset).
tải đoạn = bù đắp - giới hạn/2 để bù đắp + giới hạn/2
Các văn bản trên JTextPane/JEditorPane không được thay đổi khi tải khối hay khác cho người dùng cảm giác như đang ở trong một vị trí của tập tin.
Đây không phải là một giải pháp tầm thường nhưng nếu bạn không tìm thấy bất kỳ kiểm soát của bên thứ ba nào khác để thực hiện việc này, tôi sẽ đi theo cách này.
Nguồn
2009-01-05 16:54:46
Chúng tôi có cùng một vấn đề. Là một giải pháp tốt được tìm thấy cho điều này? Đối với một cái gì đó có vẻ tầm thường, tôi ghét phải làm điều này. – Andez