Я бы не рассчитывал на точность Thread.sleep
, но:
for(int i = 20; i >= 0; i--) {
label.setText(i + " seconds remaining");
Thread.sleep(1000);
}
Это, конечно, заблокирует поток пользовательского интерфейса во время сна, поэтому вам, вероятно, нужно запустить его на отдельномнить.Это означает, что вам понадобится что-то вроде SwingUtilities.InvokeLater
для обновления пользовательского интерфейса, поскольку вы используете поток, отличный от пользовательского интерфейса:
for(int i = 20; i >= 0; i--) {
SwingUtilities.InvokeLater(new Runnable() {
public void run() {
label.setText(i + " seconds remaining");
}
});
Thread.sleep(1000);
}