Пользовательский интерфейс Swing останавливается с помощью Thread.sleep()
Ваш запрос предполагает, что использование Thread.sleep() в сочетании с JFileChooser приводит к Приостановка пользовательского интерфейса, запрещающая отображение элементов Swing. Причина такого поведения заключается в том, что Thread.sleep() вызывается в потоке диспетчеризации событий (EDT), который отвечает за управление графическим интерфейсом. Следовательно, пользовательский интерфейс переходит в состояние сна, в результате чего он перестает отвечать на запросы.
Чтобы решить эту проблему, вместо этого рекомендуется использовать javax.swing.Timer. Вот как это работает:
Timer t = new Timer(1000 * 5, new ActionListener() { public void actionPerformed(ActionEvent e) { // Perform your recurring task } });
Благодаря использованию таймера ваша периодическая задача выполняется вне EDT, гарантируя, что пользовательский интерфейс остается отзывчивым, пока ваша задача выполняется параллельно.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3