Я читал о прогресс-барах, и есть некоторые кусочки головоломки, которые я не могу понять.Я не понимаю, как установить индикатор выполнения, который показывает состояние данного потока или вызова метода, который вызывает другие методы.
Приведенный ниже код представляет собой краткое резюме того, что в основном я делаюна данный момент. Как вы можете видеть, я просто показываю простое и простое всплывающее окно с тривиальным сообщением «обработка информации», а после вызова вызываемых методов появляется другое всплывающее окно «Операция завершена!» ... Я знаю, что этоплохой подход, особенно потому, что он не дает никакой обратной связи с пользователем о том, что происходит.
Thread t = null;
try {
if (...) {
t = new Thread(new Runnable() {
public void run() {
JOptionPane.showMessageDialog(null, "processing information ....", "Wait",
JOptionPane.INFORMATION_MESSAGE);
}
});
t.start();
}
if (response == null)
waitResponse();
if (...) {
//do some controls
{
if (...)
throw new AssertionError("you can't edit that field..");
}
}
//
if (type.equals("A"))
methodA(1234);
else if (type.equals("B"))
methodB(1234);
else if (type.equals("C")) {
methodC(1234);
} else if (type.equals("D")
methodD(1234);
if (...) {
t = new Thread(new Runnable() {
public void run() {
JOptionPane.showMessageDialog(null, "Operation Complete!", "Done",
JOptionPane.INFORMATION_MESSAGE);
}
});
t.start();
}
Я хотел бы понять / узнать, как я могу использовать индикатор выполненияпоказать статус программы.Я прочитал некоторую информацию о doInBackground (), publish (int i), process (List chunks), но я не понимаю, как их использовать.