Como criar vários JLabel utilizando um loop?

4 respostas
P
Como posso criar JLabel utilizando um loop?
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();
        }
}

Abraço!!

4 Respostas

discorpio

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);  
  }
P

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;

discorpio

Olá Pedro.

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;

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.

P

Obrigado! Ajudou-me muito!

Criado 5 de novembro de 2010
Ultima resposta 5 de nov. de 2010
Respostas 4
Participantes 2