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:
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:
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


0