#java #while-loop #jprogressbar
#java #цикл while #jprogressbar
Вопрос:
У меня есть несколько файлов большой базы данных в папке, с которыми я некоторое время обрабатывал их в JAVA, как я могу показать оставшееся время в процентах с помощью JProgressBar?
public int countTrueAmr(String text, String under,String value, String search) {
int sLen = under.length();
int count = 0;
int index = text.indexOf(under value, 0);
int nextIndex = text.indexOf(under, index sLen);
while (index > 0 amp;amp; nextIndex > 0) {
count = countString(text.substring(index, nextIndex), search);
index = text.indexOf(under value, index sLen);
nextIndex = text.indexOf(under, index sLen);
if (nextIndex < 0)
nextIndex = text.length();
}
return count;
}
большое спасибо …
Ответ №1:
- Продлить
SwingWorker
. - Переопределить
doInBackground()
. Поместите цикл внутрь. Время от времени вызывайте этот методpublish(...)
. - Переопределить
process(...)
. ВызовJProgressBar
‘ssetValue(i)
.
Комментарии:
1. Пожалуйста, ознакомьтесь с руководством: download.oracle.com/javase/tutorial/uiswing/components /…
Ответ №2:
Не могли бы вы, пожалуйста, привести мне пример?
SwingWorker
setProgress()
Метод следует использовать таким образом, чтобы графический интерфейс «уведомлялся асинхронно в потоке отправки событий«. Пример есть здесь и в API.