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
É 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?
posso ter mais de uma var-args no mesmo metodo ?
Zeed01
Setembro 5, 2007, 12:38am
#4
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.
truck1n
Setembro 5, 2007, 12:48am
#5
Pelo que li a um tempo atrás, não e o var … args tem que ser o último argumento do seu metodo.
[code] private void limpajtf(JTextField… jtf){
for(JTextField tf : jtf){
jtf.setText("");
} [/code]
mais isto está certo, como o colega disse acima você gostária de fazer um for de objetos JTextField ?
Abraços!
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("");
}
}
}
}
Não sei oque anda acontecendo que eu ando replicando tanto post…