Swing UI para com Thread.sleep()
Sua consulta sugere que a utilização de Thread.sleep() em conjunto com JFileChooser leva a um Suspensão da UI, inibindo a exibição de elementos Swing. A razão por trás desse comportamento reside no fato de que Thread.sleep() é invocado no Event Dispatch Thread (EDT), que é responsável por gerenciar a GUI. Conseqüentemente, a IU entra em estado de suspensão, deixando de responder.
Para resolver esse problema, é recomendável empregar um javax.swing.Timer. Funciona assim:
Timer t = new Timer(1000 * 5, new ActionListener() { public void actionPerformed(ActionEvent e) { // Perform your recurring task } });
Ao utilizar o Timer, sua tarefa periódica é executada fora do EDT, garantindo que a UI permaneça responsiva enquanto sua tarefa é executada em paralelo.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3