Ajuda com metodo

6 respostas
A

Pessoal, tenho um monte de jtextfields, quero fazer um metodo sem uma quantidade definida de parametros, para colocar “” (limpar) esse textfieds.
como ficaria esse metodo ?

estou tentando isso :
Código:

private void limpajtf(JTextField... jtf){ 
        
    for(JTextField tf : jtf){ 
         jtf.setText("")   ***    
    }

mas sei que isso nao funciona, alguem me ajude por favor

6 Respostas

ViniGodoy

É isso mesmo! Pq vc diz que não funciona?

Só faltou o ; no final da linha, após o setText. Mas creio que isso foi um erro de cópia, não?

A

posso ter mais de uma var-args no mesmo metodo ?

Zeed01

Boa noite colegas !

Não da para o seu método receber um List de JTextField e fazer um for ?

Ou algo assim…

Espero ter ajudado.

Um abraço.

T
alessandre:
posso ter mais de uma var-args no mesmo metodo ?

Pelo que li a um tempo atrás, não e o var ... args tem que ser o último argumento do seu metodo.

private void limpajtf(JTextField... jtf){ 
        
    for(JTextField tf : jtf){ 
         jtf.setText("");       
    }

mais isto está certo, como o colega disse acima você gostária de fazer um for de objetos JTextField ?

Abraços!

Marky.Vasconcelos

Mas se por acaso você queira limpar a tela inteira passado por argumentos use algo assim

public void limpa(JFrame frame){
Component[] j = frame.getContentPane().getComponents();
	for(Component x : j){
		if(x instanceof JTextField){
			((JTextField)x).setText("");
		}
		if(x instanceof JPanel){
			Component[] cx = ((Container)x).getComponents();
			for(Component xx : cx){
				if(xx instanceof JTextField){
					((JTextField)xx).setText("");
				}
			}
		}
}
Marky.Vasconcelos

Não sei oque anda acontecendo que eu ando replicando tanto post…

Criado 31 de agosto de 2007
Ultima resposta 5 de set. de 2007
Respostas 6
Participantes 5