Como incrementar um nome de uma variável?

vamos supor que tenha uma arraylist para armazenar todos os valores das textfield

e meus JTEXTFIELD tem os nomes

texto1 texto2 texto3 texto4

e eu queira criar um laço pra jogar cada valor no seu campo no banco de dados

[code]ArrayList a = new ArrayList();

int i = 1;

while(i<=4){
a.add(texto(i).getText());
i++;
}[/code]

a ideia seria essa só não tenho o código pra postar aqui pq eu não pude perder tempo e fiz de um por um mesmo e eram 64campos no banco de dados . . .

desde já agradeço a atenção . . .

[quote=flaviomirandadesouza]vamos supor que tenha uma arraylist para armazenar todos os valores das textfield

e meus JTEXTFIELD tem os nomes

texto1 texto2 texto3 texto4

e eu queira criar um laço pra jogar cada valor no seu campo no banco de dados

[code]ArrayList a = new ArrayList();

int i = 1;

while(i<=4){
a.add(texto(i).getText());
i++;
}[/code]

a ideia seria essa só não tenho o código pra postar aqui pq eu não pude perder tempo e fiz de um por um mesmo e eram 64campos no banco de dados . . .

desde já agradeço a atenção . . .[/quote]

Ja faz 4 anos que eu estudo java e nunca ví nada parecido com isso. Sinceramente acho que não faz muito sentido tendo em vista que o que deve mudar é o valor da variável não o seu nome. Vc pareçe querer fazer uma variável “variar” mais do que deve…

Opa Fávio, se o que deseja é pegar todos os valores dos texfields e jogar em um arraylist levando em consideração apenas a ordem em que estão dispostos tenho uma solução prática

ArrayList<String> valores= new ArrayList<String>();
//jp1 é o componente pai onde se encontra os texfields, seja ele um Jframe, Jpanel
Component[] comps = jp1.getComponents();
        for (int i = 0; i < comps.length; i++) {
   //o loop vai varrer todos os componentes presentes neste e pegar os que forem do tipo JTexField
            if (comps[i] instanceof javax.swing.JTextField) {
  //caso seja texfield ele vai pegar o resultado correspondente ao mesmo
                valores.add(comps[i].getText());     
       }
        }

Agora se deseja colocar o jtextfield com nome "nome" em uma variavel string do tipo "nome" ou dentro de um objeto dinamicamente irá ter que trabalhar com reflection

Espero ter ajudado, abraço.

Outra solução seria já criar seus JTextFields dentro de um array, direto:

[code]JTextField texto[] = new JTextField[64];

for (int i = 0; i < 64; i++) {
texto[i].getText();
}[/code]

Essa abordagem tem muitas vantagens. É fácil deixar todos os JTextField disabled, por exemplo. E também é muito fácil limpar todos os JTextFields. E não depende de métodos difíceis de ler como os do colega acima.

Entretanto, se você estiver usando o editor do Netbeans, talvez seja necessário recorrer a solução anterior.

hiarlay

primeiramente obrigado pela atenção,

agora cara não consigo fazer essa parte do jpl ele pede pra mim criar class jpl no pacote ou criar o campo jpl na class eu preciso importar algum pacore pra trabalhar com ele ?

to usando o editor do netbeans . . .

vlw . . .

[quote=flaviomirandadesouza]hiarlay

primeiramente obrigado pela atenção,

agora cara não consigo fazer essa parte do jpl ele pede pra mim criar class jpl no pacote ou criar o campo jpl na class eu preciso importar algum pacore pra trabalhar com ele ?

to usando o editor do netbeans . . .

vlw . . .[/quote]

Esse jp1 é seu Component pai como ele mesmo frisou, Jpanel ou JFrame onde estiverem seus JTextFields.

evertonsilvagomesjava

vou testar aqui,

e ViniGodoy eu testei seu método e deu certo . . .