Foco na Janela

Galera,

eu tenho uma aplicação em SWING e estou com dificuldades para setar o FOCO da janela.
Ex: Eu minimizei a janela, e um determinado método meu após algum tempo seta o foco da janela, e a mesma começa a piscar na barra de tarefas, tipo o MSN quando vc minimiza a janela).

Alguem sabe como fazer isso?

cara, dah uma olhada ai no javadoc da swing, se não me engano tem alguma coisa como requestFocus() ou setFocused()

Para setar o foco em sua janela use:
suaJanela.requestFocus().

Se você quiser setar foco em component, sem que isso traga a janela para frente use
componente.requestFocusInWindow().

eu tentei, mas não rolou!

requestFocusInWindow() retorna sempre false, quando a janela está minimizada…e não dá sinal de vida nenhum!

galera! REsolvi o problema!

é só chamar isso aqui no JFRAME

toFront();

caso você queira um Aways on Top basta fazer assim

/**
* Chame isso no construtor
*/
public void initialize() {
      TopThread top = new TopThread();
      top.start();
}

/**
* Coloque essa inner class ai
*/
class TopThread extends Thread {
      public void run() {
            while(true) {
                  toFront();
                  /**
                  * Let 10 milliseconds for other code to execute
                  */
                  try {
                        Thread.sleep(10);
                  }
                  catch(Exception e) {
                        // Nothing to do
                  }
            }
      }
}

[quote=DexterDF]Galera,

eu tenho uma aplicação em SWING e estou com dificuldades para setar o FOCO da janela.
Ex: Eu minimizei a janela, e um determinado método meu após algum tempo seta o foco da janela, e a mesma começa a piscar na barra de tarefas, tipo o MSN quando vc minimiza a janela).

Alguem sabe como fazer isso?[/quote]

Uma vez precisei fazer um chat e usei o frame.setVisible(true). Quando a janela ficava minimizada e alguem mandava uma mensagem, a janela ficava piscando tambem.

T+

Oi,
Eu consegui com o frame.setVisible(true) que o Proteu falo.

Tchauzin!