Como posso criar JLabel utilizando um loop?
[code]
public Janela(int x)
{
Container c = getContentPane();
int xx = x++;
c.setLayout(new GridLayout((xx), 2));
for (i = 1; i < xx; i++){
// quero criar um JLabel aqui!!! como q faz?
}
pack();
}
}[/code]
Abraço!!
Bom dia Pedrobaio.
O mais certo é voce criar um vetor de JLabels, desta forma:
public Janela(int x) {
setLayout(new GridLayout(x, 2));
JLabel[] meulabel = new JLabel[x];
for (int i = 0; i < x; i++){
meulabel[i] = new JLabel("Label_" + i);
getContentPane().add(meulabel[i]);
}
pack();
setVisible(true);
}
vou cirar utizando o case acho que vai ser melhor
switch (x){
case 1:
JLabel label1 = new JLabel ("Substância 1");
break;
case 2:
JLabel label2 = new JLabel ("Substância 2");
break;
case 3:
JLabel label3 = new JLabel ("Substância 3");
break;
case 4:
JLabel label4 = new JLabel ("Substância 4");
break;
case 5:
JLabel label5 = new JLabel ("Substância 5");
break;
case 6:
JLabel label6 = new JLabel ("Substância 6");
break;
Olá Pedro.
[quote=pedrobaio]vou cirar utizando o case acho que vai ser melhor
switch (x){
case 1:
JLabel label1 = new JLabel ("Substância 1");
break;
case 2:
JLabel label2 = new JLabel ("Substância 2");
break;
case 3:
JLabel label3 = new JLabel ("Substância 3");
break;
case 4:
JLabel label4 = new JLabel ("Substância 4");
break;
case 5:
JLabel label5 = new JLabel ("Substância 5");
break;
case 6:
JLabel label6 = new JLabel ("Substância 6");
break;
[/quote]
No caso do “switch…case”, voce só irá criar um único JLabel, se voce pretende criar vários então a solução que postei anteriormente é a melhor solução, basta só trocar a string “Labels_” + i para "Substância " + i que surtirá o mesmo efeito.
Obrigado! Ajudou-me muito!