Caros colegas, como faço para saber o tipo de componente que recebeu o foco.
Tenho um Jpanel com vários componentes de variados tipos. Quero “varrer” esses componentes, e todo componente do tipo JtextField que for encontrado eu quero limpar o texto.
Eu até consigo focar o componente, mas não consigo saber se é JTextField ou JLabel por exemplo
Obrigado
Para saber o tipo do componente faça
if(componente instanceof JTextFiedl) {
//limpa o testo
}
melhor ainda:
if(meuComponente instanceof JTextComponent){
((JTextComponent)meuComponente).setText("");
}
Assim voce pega JTextArea e outros componentes de texto, e não só JTextField
[quote=CristianPalmaSola10]Para saber o tipo do componente faça
if(componente instanceof JTextFiedl) {
//limpa o testo
}
[/quote]
Pessoal. Primeiro quero agradecer pela ajuda, mas ainda estou com problemas.
O meu código esta abaixo.
[code]Component[] comp = jPanel7.getComponents();
for (int cont = 0; cont < jPanel7.getComponentCount(); cont++){
if (comp[cont] instanceof JTextField){
????
}
}[/code]
Dessa forma estou conseguindo usar setBackGround(), setVisible(), setEnabled() entr aoutras, mas não consigo usar o settext() para alterar o testo do componente.
Porque?
Obrigado
tenta assim
Component[] comp = jPanel7.getComponents();
for (int cont = 0; cont < jPanel7.getComponentCount(); cont++){
if (comp[cont] instanceof JTextField){
JTextField text = (JTextField) comp[cont];
text.setEnabled(true);
}
}
[quote=CristianPalmaSola10]tenta assim
[code]
Component[] comp = jPanel7.getComponents();
for (int cont = 0; cont < jPanel7.getComponentCount(); cont++){
if (comp[cont] instanceof JTextField){
JTextField text = (JTextField) comp[cont];
text.setEnabled(true);
}
}
[/code][/quote]
Valeu Cristian.
Para ficar do jeito que eu queria, no final ficou assim
if (comp[cont] instanceof JTextField){
JTextField text = (JTextField) comp[cont];
text.setText("");
}
Obrigado.