Pessoal estou tentando criar um metodo para limpar todos os campos JTextField de um JFrame. Li todos os topicos do forum e nenhum me ajudou. Se alguem puder me ajudar agradeço!
Tenho tentado assim
public void limparCampos(Container container)
{
Component components[] = container.getComponents();
for (Component component : components)
{
if (component instanceof JTextField)
{
((JTextField)component).setText(null);
}
}
}
Pra que esse método recursivo? Se os components dele estiver em um JPanel e ele fizer: Component components[] = jPanelUsado.getComponents(); irá retornar todos os components que estiver la.
Vou responder sua pergunta com três perguntas:
E se dentro do painel tiver outro painel? E se dentro deste outro painel, tiver outro painel? E só então ter os campos?
Vou responder sua pergunta com três perguntas:
E se dentro do painel tiver outro painel? E se dentro deste outro painel, tiver outro painel? E só então ter os campos?[/quote]
Bem, só pra complementar, uma alternativa seria também manter uma lista específica dos JTextField, assim você não precisa nem de recursão nem ficar testando se a instância é de uma determinada classe.
Relacionado a esse que você me mostrou, muitos me mostraram identicos, mas não deu certo. Eu crio esse metodo dentro de uma classe e coloco como parâmetro JFrame ou JPanel. Mas não dá certo. No C# faço isso tranquilo. No java não é possivel?