mas em determinado método, preciso pegar o valor de um desses textfields especificamente, mas ñ sei como fazer isso. Se tivesse criado-os um por um, sei que poderia fazer algo do tipo:
String sTal = tfcodigo.getText();
String sEtc = tfcodigo1.getText();
Mas como estão em um array, ñ consigo achar a forma certa de buscar a informação de um específico texfield.
Se eu entendi bem, o collections framework pode te ajudar
//cria a coleção de objetos JTextFieldMap<String,JTextField>myJTF=newHashMap<String,JTextField>();for(inti=0;i<11;++i){//executa os seus procedimentosJTextFieldjtf=newJTextField();jtf.setBounds(80,pos,60,25);jtf.setEditable(false);princi.add(jtf);pos=pos+25;//associa um nome ao objeto JTextField e //o adiciona à coleçãomyJTF.put("jTextField"+i,jtf);}//recupera o objeto JTextField pela chave (nome) atribuida...Stringvalor=myJTF.get("jTextField1").getText();
ViniGodoy
E qual seria o problema de fazer:
tfcodigo[3].setText()?
Outra possibilidade é fazer com que seu método receba uma lista de nomes. E então use esses nomes na propriedade name do JTextField. Depois fica fácil buscar um específico por nome.
zoren
Você pode também pegar os componentes que estão adicionados no seu JFrame e verificar se eles são uma instância de JTextField
G
Gregori
a questão era conseguir um valor esecífico que voi dado no textfield, portanto o settext ñ funcionaria, pois a intenção era o inverso.
Mas consegui resolver, era apenas um erro de sintaxe. O certo seria assim:
finalJTextFieldtfcodigo[]=newJTextField[11];intpos=151;for(inti=0;i<11;i++){tfcodigo[i]=newJTextField();tfcodigo[i].setBounds(80,pos,60,25);tfcodigo[i].setEditable(false);princi.add(tfcodigo[i]);pos=pos+25;}// aki estão os textfields q foram criadosStringcodi=tfcodigo[1].getText();// e aki pego o valor específico.