Dá uma conferida na classe SwingUtilities, principalmente nos métodos:
 
   SwingUtilities.invokeAndWait(Runnable);
   SwingUtilities.invokeLater(Runnable);
 
o invokeAndWait permite que todos os eventos da interface gráfica sejam concluídos antes que uma thread seja inicializada..
 
dá uma confrida também no método
 
JComponent.updateUI()
public void updateUI()
Resets the UI property to a value from the current look and feel. JComponent subclasses must override this method like this:
   public void updateUI() {
      setUI((SliderUI)UIManager.getUI(this);
   }
  
-----Mensagem original-----
De: Vladimir [mailto:[EMAIL PROTECTED]]
Enviada em: quarta-feira, 12 de junho de 2002 20:37
Para: [EMAIL PROTECTED]
Assunto: [java-list] Atualizar interface com o usuario

Eu tenho um programa que faz uma rotina muito grande.
A interface com o usuário fica bloqueada (travada) enquanto roda a rotina.
A cada fase da rotina o sistema escreve num JTextArea e andamento, mas isso aparece no final de tudo.
Experimentei colocar a rotina numa Thread (implementando a interface Runnable) e coloquei um repaint() a cada vez que escreve
no JTextArea. Isso não funcionou.
 
Alguém sabe o que tenho de fazer. Uso o JSDK 1.3 da Sun e aplicativo é um JFrame

Responder a