Para que serve o EventQueue.invokeLater(new Runnable(){..});?

O que EventQueue.invokeLater(new Runnable() está fazendo?

public static void main(String args[]) {

       EventQueue.invokeLater(new Runnable()** {
       @Override
       public void run() {   
          
           JFrame janela = new Janela();
           janela.setVisible(true);                
       }
   });
}

Obrigado.

http://docs.oracle.com/javase/7/docs/api/java/awt/EventQueue.html#invokeLater(java.lang.Runnable)

Causes runnable to have its run method called in the dispatch thread of the system EventQueue. This will happen after all pending events are processed.

aqui tem explicações:
https://docs.oracle.com/javase/tutorial/uiswing/concurrency/dispatch.html

mas basicamente Swing usa Event dispatching thread. O metodo run vai ser chamado ao final do processo de todos os eventos da interface grafica.

Muito Obrigado. Será que é viável colocar condições para trocar de “janelas”, através de uma variável que esteja presente em várias janelas, assim quando o usuário clica em algo o valor da variavel muda e então o run que é executado novamente, muda a “cena” ou melhor o conteúdo/janela. ?

cara vc precisa estudar Swing.

o que vc quer fazer é resolvido via Eventos.

1 curtida