Java - Como cambiar de una imagen a otra en un label

 
Vista:

Como cambiar de una imagen a otra en un label

Publicado por MultiKaoz (1 intervención) el 21/04/2020 02:26:47
Necesito ayuda en mi programa, estoy tratando de hacer una lotería mexicana en java, pero tengo un problema al hacer la baraja de las cartas, hice este método con un math random y con un switch, sirve el math random y el switch, pero el problema es que no me cambia la imagen, no se si es lo que meto dentro de los cases o es otra cosa

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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
package loteria;
 
import java.awt.Image;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import java.util.Random;
import javax.swing.JOptionPane;
 
 
public class VentanaJuego extends javax.swing.JFrame {
 
 
    public VentanaJuego() {
        initComponents();
    }
 
    public void cambioImagen (){
        Random cartasAleatorias = new Random();
int N = cartasAleatorias.nextInt(54);
 
 
        switch(N)
        {
            case 0:
                ImageIcon fot0 = new ImageIcon("/ImagenesCartas/El Barril.jpg");
                Icon icono0 = new
                ImageIcon(fot0.getImage().getScaledInstance(cartasLoteria.getWidth(),cartasLoteria.getHeight(),
                Image.SCALE_DEFAULT));
                cartasLoteria.setIcon(icono0);
                this.repaint();
                        break;
            case 1:
                ImageIcon fot1 = new ImageIcon("/ImagenesCartas/El Catrin.jpg");
                Icon icono1 = new
                ImageIcon(fot1.getImage().getScaledInstance(cartasLoteria.getWidth(),cartasLoteria.getHeight(),
                Image.SCALE_DEFAULT));
                cartasLoteria.setIcon(icono1);
                this.repaint();
                break;
            case 2:
                ImageIcon fot2 = new ImageIcon("/ImagenesCartas/El Diablito.jpg");
                Icon icono2 = new
                ImageIcon(fot2.getImage().getScaledInstance(cartasLoteria.getWidth(),cartasLoteria.getHeight(),
                Image.SCALE_DEFAULT));
                cartasLoteria.setIcon(icono2);
                this.repaint();
                break;
            case 3:
                ImageIcon fot3 = new ImageIcon("/ImagenesCartas/El Gallo (Loteria).jpg");
                Icon icono3 = new
                ImageIcon(fot3.getImage().getScaledInstance(cartasLoteria.getWidth(),cartasLoteria.getHeight(),
                Image.SCALE_DEFAULT));
                cartasLoteria.setIcon(icono3);
                this.repaint();
                break;
            case 4:
                ImageIcon fot4 = new ImageIcon("/ImagenesCartas/El Melon.jpg");
                Icon icono4 = new
                ImageIcon(fot4.getImage().getScaledInstance(cartasLoteria.getWidth(),cartasLoteria.getHeight(),
                Image.SCALE_DEFAULT));
                cartasLoteria.setIcon(icono4);
                this.repaint();
                break;
            case 5:
                ImageIcon fot5 = new ImageIcon("/ImagenesCartas/El Paraguas.jpg");
                Icon icono5 = new
                ImageIcon(fot5.getImage().getScaledInstance(cartasLoteria.getWidth(),cartasLoteria.getHeight(),
                Image.SCALE_DEFAULT));
                cartasLoteria.setIcon(icono5);
                this.repaint();
                break;
            case 6:
                ImageIcon fot6 = new ImageIcon("/ImagenesCartas/El arbol.jpg");
                Icon icono6 = new
                ImageIcon(fot6.getImage().getScaledInstance(cartasLoteria.getWidth(),cartasLoteria.getHeight(),
                Image.SCALE_DEFAULT));
                cartasLoteria.setIcon(icono6);
                this.repaint();
                break;
            case 7:
                ImageIcon fot7 = new ImageIcon("/ImagenesCartas/El bandolon.jpg");
                Icon icono7 = new
                ImageIcon(fot7.getImage().getScaledInstance(cartasLoteria.getWidth(),cartasLoteria.getHeight(),
                Image.SCALE_DEFAULT));
                cartasLoteria.setIcon(icono7);
                this.repaint();
                break;
            case 8:
                ImageIcon fot8 = new ImageIcon("/ImagenesCartas/El gorrito.jpg");
                Icon icono8 = new
                ImageIcon(fot8.getImage().getScaledInstance(cartasLoteria.getWidth(),cartasLoteria.getHeight(),
                Image.SCALE_DEFAULT));
                cartasLoteria.setIcon(icono8);
                this.repaint();
                break;
            case 9:
                ImageIcon fot9 = new ImageIcon("/ImagenesCartas/El valiente.jpg");
                Icon icono9 = new
                ImageIcon(fot9.getImage().getScaledInstance(cartasLoteria.getWidth(),cartasLoteria.getHeight(),
                Image.SCALE_DEFAULT));
                cartasLoteria.setIcon(icono9);
                this.repaint();
                break;
            case 10:
                ImageIcon fot10 = new ImageIcon("/ImagenesCartas/La Botella.jpg");
                Icon icono10 = new
                ImageIcon(fot10.getImage().getScaledInstance(cartasLoteria.getWidth(),cartasLoteria.getHeight(),
                Image.SCALE_DEFAULT));
                cartasLoteria.setIcon(icono10);
                this.repaint();
                break;
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

Como cambiar de una imagen a otra en un label

Publicado por Lucho9964 (17 intervenciones) el 21/04/2020 18:30:25
Hola

El metodo Random primero que todo debes de saber que retorna un valor tipo double, luego que sepas esto debes tambien saber que este metodo debes asignarle un tope(el numero maximo), si no se lo asignas va de cero a uno; en tu caso tienes el limite en 54(del 0 al 53), y tienes solo campo a 11 posibles casos en el switch(del cero al 10), tampoco tienes default en caso de que no de esos 10; entonces hasta que ese numero random no de un numero de los que pongas en los casos del switch, no hará nada, así, deberías cambiar el límite
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar