Я выполнив следующий код:Java: Заявления не выполняется в порядке
lnum.setVisible(false);
Lsums.setVisible(false);
Ldigits.setVisible(false);
Lrows.setVisible(false);
L1.setVisible(false);
t1.setVisible(false);
t2.setVisible(false);
t3.setVisible(false);
Button.setVisible(false);
Done.setText("Done!");
System.out.println("Done!");
//setting everything invisible and printing Done on the screen
try {
Thread.sleep(5000);
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
System.exit(0);
Что должно произойти, по мне: «Готово» Done ярлык устанавливается в текст а затем println, за которым следует 5 секунд ожидания, а затем программа закрывается. Но что происходит; он делает println, а затем ждет 5 секунд, но никогда не устанавливает готовый ярлык Done! Почему?
Update 1 Примечание, если я просто удалить попытку сна и поймать блок, то он делает вещи, а затем отображает все сделано правильно, но не, если блоки сна присутствуют
Update 2 Почему это не первый выход, а затем спать? Зачем? [Как в ответах, они сказали, что это будет зависать, нормально, я получаю это, но если бы я написал, что он должен установить метку, он должен установить его, а затем сделать паузу после установки, почему раньше ???]
Если это так, все еще неясно: Посмотрите, что я хочу сделать, 1. сделайте некоторые предметы невидимыми. 2. измените текст ярлыка. 3. подождите 5 секунд. 4. автоматически выйдите. В этом точном порядке.
'Done' является то, что здесь? показать нам полный код? –
можно ли увидеть объект Done? – Esqarrouth
В каком потоке вы выполняете этот код? Это EDT поток? – Taky