Pegar o campo selecionado

bom, eu to iniciando em java e fiz um formulario de consulta a uma tabela
mais eu quero que na hora em que o botao for pressionado ele descubra qual
TextField esta com o Foco e pegue o texto que foi digitado no mesmo

eu coloquei assim, mas não esta dando certo

if(t_nome.isFocusable()==true) s_campo = t_nome.getText().toUpperCase(); if(t_sobre.isFocusable()==true) s_campo = t_sobre.getText().toUpperCase(); if(f_tel_com.isFocusable()==true) s_campo = f_tel_com.getText().toUpperCase(); if(f_tel_hom.isFocusable()==true) s_campo = f_tel_hom.getText().toUpperCase(); if(a_ender.isFocusable()==true) s_campo = a_ender.getText().toUpperCase();

como arrumo isto ??

obrigado desde já…

PS: esse isFocusable eu coloquei ele pq eu fui pelo meu ingles =D, não sei se ele faz o que eu desejo

se você está querendo saber se o componente tem possui o focus, o método é isFocusOwner()
espero ter ajudado

Cara par avc evitar esses montes ifs vc pode fazer um metodo
que ira ler o componentes de Jpanel!!! (os Jtext tem de estar em painel)

  • ou - assim

public static String controle(JPanel painel){ String result =""; for (int i=0; i &lt painel.getComponentCount(); i++) { //varre todos os componentes Component c = painel.getComponent(i); if (c instanceof JtextField) { CaixaTexto Jfield = (JtextField) c; if (Jfield.isFocusOwner() ){ result = Jfield.getText(); } } return result ; }

Abraço

Cara o if já retorna um true ou false, não precisa coloca ==true

da erro mesmo

Abraços

[quote=analyser]Cara o if já retorna um true ou false, não precisa coloca ==true

da erro mesmo

Abraços[/quote]

Correto

Faça assim

if(t_nome.isFocusable())  // caso for true
if(!t_nome.isFocusable())  // caso for false

Abraço

vlW pela ajuda de vcs
vou testar de todas as maneiras propostas ai

mto obrigado

bom, eu consegui fazer o que eu queria,
mas eu usei aquele monte de IFs, pq ainda não sou muito familiarizado com o
JPanel =D
meu código ficou assim:

if(t_nome.isFocusOwner()){ s_campo = t_nome.getText().toUpperCase(); s_campo_query = "nome"; } if(t_sobre.isFocusOwner()){ s_campo = t_sobre.getText().toUpperCase(); s_campo_query = "sobrenome"; } if(f_tel_com.isFocusOwner()){ s_campo = f_tel_com.getText().toUpperCase(); s_campo_query = "tel_com"; } if(f_tel_hom.isFocusOwner()){ s_campo = f_tel_hom.getText().toUpperCase(); s_campo_query = "tel_hom"; } if(a_ender.isFocusOwner()){ s_campo = a_ender.getText().toUpperCase(); s_campo_query = "ender"; }