У меня есть Jbutton «Highlight», который при нажатии вызывает панель Jprogress. Прогресс работает отлично до 100%.Показать результат только после того, как панель JProgress завершена на 100% в Java
Как показать свой результат только после того, как индикатор выполнения достиг 100%.
Вот часть кода:
final JProgressBar progressBar = new JProgressBar();
progressBar.setMaximum(100);
progressBar.setStringPainted(true);
btnNewButton_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Thread t = new Thread(new Runnable() {
public void run() {
int i = 1;
progressBar.setMinimum(0);
progressBar.setMaximum(100);
try {
while (i <= 100 || true) {
progressBar.setValue(i);
i++;
Thread.sleep(38);
}
} catch (InterruptedException ex){}
}});
t.start();
// Где я должен поставить System.out.println ("Jprogress Bar Достигнута 100%) ??
Я не понимаю, почему существует необходимость в invokeAndWait здесь ... Все дело в том, что вы не хотите, чтобы ваш графический интерфейс (зависание) зависал, пока работает фоновый поток. Нам не нужно беспокоиться о том, что происходит в очереди событий AWT. Важно помнить, что нужно запускать GUI-события в потоке AWT, но вам разрешено вызывать получатели и сеттеры для компонентов GUI из любого потока. – RudolphEst
Спасибо Спасибо за работу :) –
@RudolphEst Не должно быть никаких изменений компонентов GUI из другого потока (что и происходит в примере). – sdasdadas