Sem usar reflection talvez vc consiga, desde que colocar um nome em cada
textfield (setName)
Da uma olhada no codigo abaixo (não ta nenhuma brastemp! rs)
public class Teste extends JFrame {
private static final long serialVersionUID = 8359259612073451504L;
JPanel panel = new JPanel();
public Teste() {
JTextField temp;
for (int i = 0; i < 31; i++ ){
String nome = "Textefield" +i;
temp = new JTextField(nome);
/*
* Esse foi o pulo do gato, colocar um nome em cada componente
*/
temp.setName(nome);
panel.add(temp);
}
this.add(panel);
this.pack();
}
public JPanel getPanel(){
return panel;
}
public static void main(String[] args) {
Teste frame = new Teste();
frame.setVisible(true);
System.out.println(frame.getPanel().getComponentCount());
Map<String, Component> mapa = new HashMap<String, Component>();
for (Component comp : frame.getPanel().getComponents()){
mapa.put(comp.getName(), comp);
}
for (int i = 0; i < 31; i++ ){
mapa.get("Textefield" +i).setVisible(false);
}
}
}
2010/5/6 Oscar Costa <oscar_al_costa@yahoo.com.br>
>
>
> Opa,
>
> Sem ofensas, o que você esta fazendo pode ser até possível, com reflection,
> mas está com cara de gambiarra! =P
> Como nosso amigo disse anteriormente, melhor você "encapsular" seus
> textfielsd em um Map ou mesmo um array.
>
> []s,
> Oscar Aleixo
> http://blog.openarch.com.br
>
> ________________________________
> De: Marcos Fabrício Corso <marcoscorso@terra.com.br<marcoscorso%40terra.com.br>
> >
> Para: java-br@yahoogrupos.com.br <java-br%40yahoogrupos.com.br>
> Enviadas: Quinta-feira, 6 de Maio de 2010 17:18:46
> Assunto: Re: [java-br] Duvida
>
>
> ola
> fiz da seguinte maneira e deu certo colocar o nome do textfield num array
> dae joguei o array pra uma string
> preciso so "executar" o que esta no valor da variavel
> obrigado
>
> int f = 0 ;
> int[] meuarray;
> meuarray = new int[31];
> for ( int i = 1; i <= 31 ; i++ ) {
> meuarray[f] = i ;
> f++;
> }
> for ( int dia = dia_inicial ; dia <= dia_final ; dia++ ) {
> String nome_form = "Formdia" + Validacao.preencheZ erosEsquerda(
> Integer.toString( meuarray[dia- 1] ) , 2 ) ;
>
> System.out.println( nome_form) ;
> // agora aqui preciso executar o comando java : nome_form.setEditab
> le(true);
>
> }
>
> ----- Original Message -----
> From: Pedro Elvas
> To: java-br@yahoogrupos .com.br
> Sent: Thursday, May 06, 2010 4:51 PM
> Subject: Re: [java-br] Duvida
>
> Acho que seria melhor vc criar um array ou mapa com os jtextfield. Ai vc
> poderia fazer o for, fazendo o set para cada objeto.
>
> 2010/5/6 Marcos Fabrício Corso <marcoscorso@ terra.com. br>
>
> > ola pessoal preciso de uma ajuda
> > tenho 31 jtextfield, 1 para cada dia do mes
> > dae uso o comando numa determinada rotina
> >
> > Formdia01.seteditab le(true);
> > Formdia02.seteditab le(true);
> > Formdia03.seteditab le(true);
> > Formdia04.seteditab le(true);
> > Formdia05.seteditab le(true);
>
> >
> > Tem como eu montar os dias usando um for
> > exemplo :
> >
> > for ( int dia = 1 ; dia <= 31 ; dia++ ) {
> > Formdia + dia + .seteditable( true);
> > }
> >
> > Obrigado
> >
> >
> > Atenciosamente,
> > Marcos Fabrício Corso
> > Analista de Sistemas Júnior
> > JM Informática
> > Fone/Fax : (41) 3076-0896
> > marcoscorso@ terra.com. br
> > www.informaticajm. com.br
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> > ------------ --------- --------- ------
> >
> > Para sair da lista, envie email para: java-br-unsubscribe @yahoogroups.
> com
> > Para upload/download de arquivos:
> > http://www.yahoogro ups.com/files/ java-brLinks do Yahoo! Grupos
>
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> ------------ --------- --------- --------- --------- --------- -
> E-mail verificado pelo Terra Anti-Spam.
> Para classificar esta mensagem como spam ou não spam, clique aqui.
> Verifique periodicamente a pasta Spam para garantir que apenas mensagens
> indesejadas sejam classificadas como Spam.
>
> ------------ --------- --------- --------- --------- --------- -
> Esta mensagem foi verificada pelo E-mail Protegido Terra.
> Atualizado em 06/05/2010
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
[As partes desta mensagem que não continham texto foram removidas]
------------------------------------
Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-brLinks do Yahoo! Grupos
<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/java-br/
<*> Para sair deste grupo, envie um e-mail para:
java-br-unsubscribe@yahoogrupos.com.br
<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html
0 comentários:
Postar um comentário