Verificar que elemento recebeu o foco

Olá pessoal!
Apesar de ter procurado no google e aqui no fórum, não consegui sanar minha dúvida.
O que eu preciso é saber qual JTextField recebeu e/ou perdeu o foco.
Por exemplo, vamos supor que eu tivesse uns 2 JTextField e ao colocar o foco no primeiro, apareceria um texto dentro dele falando “Recebi o foco!!!”. Quando eu desse TAB (indo para o próximo JTextField), o primeiro JTextField receberia o valor “Perdi o foco.”, e o atual receberia o valor “Recebi o foco!!!”.

Mudando da água para o vinho, um código em javaScript ficaria desta forma:

[code]

Teste de eventos JS
/******************************************************
Script para verificar qual elemento input da página
recebeu o foco.
Por André Gutierrez.
*******************************************************

function pageLoad()
{
    // Carrega as referencias dos elementos no array;
    var arrInput = document.getElementsByTagName("INPUT");
    // Cria a referencia para os eventos para todos os elementos do array
    for(var i=0, intTotal = arrInput.length; i<intTotal; i++)
	{
        // define a função no controlFocus no evento onfocus do elemento
        arrInput[i].onfocus = controlFocus;
        // define a função no controlBlur no evento onblur do elemento
        arrInput[i].onblur = controlBlur;
    }
}

function controlFocus(e)
{
    // Define a variavel que deve armazenar os elementos
    var el = null;
    // Verifica se existe o parametro e foi carregado (apenas para firefox)
    if(e == null || e== undefined)
	{
        // recupera o elemento que originou o evento IE
        el = window.event.srcElement;
    }else{
        // recupera o elemento que originou o evento FX
        el = e.target;
    }
    // Define o valor no elemento
    el.value = "focus";
}

function controlBlur(e)
{
    // Define a variavel que deve armazenar os elementos
    var el = null;
    // Verifica se existe o parametro e foi carregado (apenas para firefox)
    if(e == null || e== undefined)
	{
        // recupera o elemento que originou o evento IE
        el = window.event.srcElement;
    }else{
        // recupera o elemento que originou o evento FX
        el = e.target;
    }
    // Define o valor no elemento
    el.value = "blur";
}

</script>

Define os eventos focus e blur para todos os elementos input da página







[/code]

Desde já agradeço.

up?

Isso ai é JavaScript, então acredito que seja simples.

Dentro dos campos input coloca onblur="" e onfocus="".

ex:

Reinaldo, aquele era apenas um exemplo, utilizando javaScript, do que eu queria fazer em Java.

Mesmo assim agradeço a sua atenção.

:smiley:

Mas achei um tópico aqui no fórum que falava sobre foco e resolveu meu problema. Ei-lo:
http://www.guj.com.br/posts/list/26281.java

Valeu aíííííí!!!

Após uma segunda lida percebi que você queria aquilo em Java, desculpe.

Neste caso, pode-se adicionar algum listener (FocusListener) aos objetos, porém dependendo de sua aplicação eu não aconselharia, essas coisas são chatas (se eu tivesse que preencher isso ia me estressar com o formulário) e as vezes inviáveis, por exemplo se existe alguma possibilidade de este campo já iniciar preenchido e este valor ser incorreto, ele vai passar para as próximas etapas incorreto por que o usuário não vai nem clicar no campo para ele receber/perder o foco e ser validado.

Seria interessante deixar essa validação como ultima etapa, no botão de envio do formulário.

Valeu aí pelas dicas Reinaldo! :smiley: