Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/09/2010, 04:02
peter_21
 
Fecha de Ingreso: mayo-2010
Mensajes: 71
Antigüedad: 14 años
Puntos: 1
coger al azar una etiqueta de un arrayList

Tengo un arrayList de etiquetas(16 en total) y quiero coger una etiqueta al azar, y a esa etiqueta ponerle un texto, un nombre de una persona, mediante el jlabel.setText("nombre"):

Código:
ArrayList etiquetas = new ArrayList();
Aqui en el constructor relleno el arrayList con 16 jlabels:

Código:
etiquetas.add(jLabel1);
etiquetas.add(jLabel2);
etiquetas.add(jLabel3);
etiquetas.add(jLabel4);
......
etiquetas.add(jLabel16);
Aqui os dejo el metodo donde quiero coger la etiqueta al azar y adjudicarle un texto:

Código:
public void adjudicar_numero(){
        Random rand = new Random();
        int x = rand.nextInt(etiquetas.size()); 
        for(int i=0;i<etiquetas.size();i++){
            if(etiquetas.get(i).equals(etiquetas.get(x))){
            }
        }
 }
En X me guardo un numero al azar entre el 1 y el 16, puesto que etiquetas es de tamaño 16. Supongamos que ha salido el 5.

Pues con el for vuelvo a recorrer las etiquetas y en el if compruebo si en la que estoy es la misma que la cogida al hacer que es X.

Si el if se cumple, entonces quiero escribir en esa etiqueta un texto, pero no me deja hacer esto:

Código:
etiquetas.get(i).setText("Nombre");


Me da error en el setText porque me dice que el objeto etiquetas no tiene ese metodo, me dice que "cannot find symbol, symbol: method setText(java.lang.String) location: class java.lang.Object

Logicamente si hago un jlabel1.setText("Nombre") si que me deja...

Entonces, como puedo coger ese jlabel de ese indice???? Como puedo hacer lo que quiero??