Código:
Aqui en el constructor relleno el arrayList con 16 jlabels:ArrayList etiquetas = new ArrayList();
Código:
Aqui os dejo el metodo donde quiero coger la etiqueta al azar y adjudicarle un texto:etiquetas.add(jLabel1); etiquetas.add(jLabel2); etiquetas.add(jLabel3); etiquetas.add(jLabel4); ...... etiquetas.add(jLabel16);
Código:
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.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))){ } } }
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??