Java - duda con ArrayList de ImageIcon

 
Vista:

duda con ArrayList de ImageIcon

Publicado por David (2 intervenciones) el 20/11/2014 11:45:33
hola buenas, estoy realizando un puzzle en java swing y tengo que añadir a 9 JButton 9 ImageIcon almacenadas en un ArrayList, el problema que tengo es al pasarle dichas imagenes a dichos botones deberia de eliminarme el indice del ImageIcon para no repetirse la misma imagen, ya que las imagenes no pueden estar repetidas (obviamente).
Os paso el codigo que tengo para daros una referencia, a ver si podeis solucionarmelo.
Gracias de antemano y un saludo!

CODIGO DEL ARRAYLIST:
1
2
3
4
5
6
7
8
9
10
11
12
private ArrayList<ImageIcon> imagenes1 = new ArrayList();
 
       imagenes1.add(v.getIb11());
       imagenes1.add(v.getIb11());
       imagenes1.add(v.getIb12());
       imagenes1.add(v.getIb13());
       imagenes1.add(v.getIb14());
       imagenes1.add(v.getIb15());
       imagenes1.add(v.getIb16());
       imagenes1.add(v.getIb17());
       imagenes1.add(v.getIb18());
       imagenes1.add(v.getIb19());

getIbXX(); son metodos que llaman a los distintos ImageICon los cuales tengo definidos en otra clase que llamo mediante el objeto v perteneciente a esa clase.

CARGA DE IMAGENES DEL ARRAYLIST EN LOS BOTONES:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
int i = new Random().nextInt(imagenes1.size()); //creo un indice aleatorio para recorrer el ArrayList 
 
                    for (i = 0; i < imagenes1.size(); i++) {        //con este for recorro el arraylist              
 
                        ImageIcon imagen = imagenes1.get(i);        //saco la imagen asignada a ese indice 
                        v.getBtn1().setIcon(imagen);                //le asigno la imagen adquirida al primer boton 
                    }
                        imagenes1.remove(i);                        //elimino el indice para que no se repita la imagen 
 
                        for (i = 0; i < imagenes1.size(); i++) {
 
                        ImageIcon imagen = imagenes1.get(i);
                        v.getBtn2().setIcon(imagen);
                    }
                        imagenes1.remove(i);
 
                        for (i = 0; i < imagenes1.size(); i++) {
 
                        ImageIcon imagen = imagenes1.get(i);
                        v.getBtn3().setIcon(imagen);
                    }
                        imagenes1.remove(i);
 
                        for (i = 0; i < imagenes1.size(); i++) {
 
                        ImageIcon imagen = imagenes1.get(i);
                        v.getBtn4().setIcon(imagen);
                    }
                        imagenes1.remove(i);
 
                        for (i = 0; i < imagenes1.size(); i++) {
 
                        ImageIcon imagen = imagenes1.get(i);
                        v.getBtn5().setIcon(imagen);
                    }
                        imagenes1.remove(i);
 
                        for (i = 0; i < imagenes1.size(); i++) {
 
                        ImageIcon imagen = imagenes1.get(i);
                        v.getBtn6().setIcon(imagen);
                    }
                        imagenes1.remove(i);
 
                        for (i = 0; i < imagenes1.size(); i++) {
 
                        ImageIcon imagen = imagenes1.get(i);
                        v.getBtn7().setIcon(imagen);
                    }
                        imagenes1.remove(i);
 
                        for (i = 0; i < imagenes1.size(); i++) {
 
                        ImageIcon imagen = imagenes1.get(i);
                        v.getBtn8().setIcon(imagen);
                    }
                        imagenes1.remove(i);
 
                        for (i = 0; i < imagenes1.size(); i++) {
 
                        ImageIcon imagen = imagenes1.get(i);
                        v.getBtn9().setIcon(imagen);
                    }
                        imagenes1.remove(i);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder