Цитата:
Сообщение от linliss
Если в JTextPane вывести 100000-200000 (иногда больше) строк форматированого текста намертво виснет интерфейс, но прога себе дальше работает.
Можно как-то решить эту проблему, кроме как очищать JTextPane? (вывел 50000 строк и очистка)
|
Можно. В случае такого объема информации использовать стандартные компоненты Swing нет никакого смысла. Что же можно сделать?
Во-первых, хранить логи в каком-то другом месте, например в родном лог-файле.
Второе. Отображение логов делать "вручную", ориентируясь на позицию скролла (которую получить не сложно) и отрисовывая их самостоятельно. Да, согласен, будет некоторое количество "ручной работы", но это самое оптимальное, показывать не весь лог, а окно.
Как вариант - на том же JTextPane сделать FIFO, т.е. не очищать, а удалять первые строки по достижению определенного лимита.