Duvida com atribuição de variaveis

4 respostas
francislon

Pessoal,

Estou com uma pequena duvida: em java é possivel eu fazer atribuição de variaveis com o nome de uma dessas variaveis não fixa?

Por exemplo:

Eu atribuo assim:

label[0] = jLabel1;

mas como tenho vários JLabels, gostaria de poder atribuir de forma mais dinamica e não ter que colocar:

label[1] = jLabel2; label[2] = jLabel3 //etc...

Será que seria possivel fazer isto com um laço?

for(...) label[i] = jLabel__???//relacionado com i

4 Respostas

T

A resposta simples é “não, Java não é Javascript”.
“Reflection” poderia adiantar no seu caso, mas não é a solução mais adequada.
Eu normalmente faria algo como:

JLabel label0 = ...;
JLabel label1 = ...;
JLabel[] labels = {
    label0,
    label1,
    ...
};

ou então criaria os JLabels dinamicamente, o que é mais razoável.

francislon

Muito obrigado pela resposta thingol. Mas eu gostaria de evitar colocar essas atribuições pois tenho 100 JLabels :stuck_out_tongue:

meu codigo ficaria:

label[0] = jLabel1;
label[1] = jLabel2;
label[2] = jLabel3;
.
.
.
label[99] = jLabel100;

Essa é a única forma de se fazer este tipo de atribuição?
Ou tem alguma outra forma? Onde entraria Reflection ai?
:slight_smile:

T

Por que é que você tem 100 JLabels criados separadamente? Tem coisa errada aí.

francislon

Eu pq fiz na matisse… :oops:
Quer dizer, eu tinha feito com um vetor de JLabels, mas gostaria de saber como faria isso usando a matisse do netBeans.
Abraço.

Criado 22 de outubro de 2007
Ultima resposta 22 de out. de 2007
Respostas 4
Participantes 2