Java - Cargar imágenes

 
Vista:
sin imagen de perfil
Val: 63
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

Cargar imágenes

Publicado por Camilo (16 intervenciones) el 30/01/2019 03:03:01
Buenas.

1. He intentado cargar una imagen a java y no sé por qué no me la muestra cuando ejecuto el programa, he encontrado dos formas de subir una imagen, pero la parte que está comentariada (//), es la parte que no me muestra la imagen.

Captura-de-pantalla-15

Aquí esta donde creo los objetos de tipo ImageIcon:

Captura-de-pantalla-17

2. También me gustaría saber como puedo darle a la imagen las dimensiones que deseo, pues cuando me carga la imagen me aparece muy grande para la ventana.

De antemano Gracias
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
Imágen de perfil de Yacoobs
Val: 231
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Cargar imágenes

Publicado por Yacoobs (10 intervenciones) el 01/02/2019 19:12:51
Aquí tienes un claro ejemplo de como realizar el ejercicio que buscas... El proyecto esta hecho con Netbeans Muchas gracias SALUDOS....

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
112
113
114
115
116
117
118
119
120
121
122
123
package jlavelimage;
 
 
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
 
 
/**
 *
 * @author Yacoobs C. M.
 * 
 * Ejemplo sencillo como cargar Imagen en un Jlabel tomando como referencia una ruta, tambien podemos modificar el 
 * tamaño de la imagen MUCHAS GRACIAS SALUDOS.
 * 
 * Cualquier consulta [email protected].com
 * https://www.youtube.com/channel/UChFlaF3Ji9vWhizWyhBQdBg/featured?view_as=subscriber
 * 
 */
public final class JLavelImage extends javax.swing.JFrame {
 
 
    public JLavelImage() {
        initComponents();
 
 
    }
 
    public void EfectoImg(int W, int H, String ruta, JLabel jlabel)
    {
        try{
            ImageIcon fot = new ImageIcon(getClass().getResource(ruta));
            Icon icono = new ImageIcon(fot.getImage().getScaledInstance(W, H, 1));
            jlabel.setIcon(icono);
        }catch(Exception e)
        {
            System.out.println("Error al cargar Imagen Grafica " + e +"\n");
            e.printStackTrace();
        }
    }
 
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {
 
        jLabel1 = new javax.swing.JLabel();
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
 
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
 
        jButton1.setText("Grande");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
 
        jButton2.setText("Pequeña");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });
 
        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(158, 158, 158)
                        .addComponent(jLabel1))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(54, 54, 54)
                        .addComponent(jButton1)
                        .addGap(85, 85, 85)
                        .addComponent(jButton2)))
                .addContainerGap(114, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(86, 86, 86)
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 116, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButton1)
                    .addComponent(jButton2))
                .addGap(70, 70, 70))
        );
 
        pack();
    }// </editor-fold>                        
 
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        //Los dos primeros parametros piden el ancho y alto de la imagen, el siguiente la ruta, el tercero el JLABEL en cuestion.
        //Ten en cuenta que la ruta se establece apartir de la siguacion de la situacion del archivo CLASE del programa, pon bien la ruta o saltara una EXCEPCION.
        EfectoImg(150, 150, "imagen/img.jpg", jLabel1);
    }
 
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        EfectoImg(50, 50, "imagen/img.jpg", jLabel1);
    }
 
    public static void main(String args[]) {
 
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new JLavelImage().setVisible(true);
            }
        });
    }
 
    // Variables declaration - do not modify                     
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JLabel jLabel1;
    // End of variables declaration                   
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Federico
Val: 6
Ha aumentado su posición en 14 puestos en Java (en relación al último mes)
Gráfica de Java

Cargar imágenes

Publicado por Federico (1 intervención) el 01/02/2019 20:35:40
Te recomiendo lo siguiente.

1
2
3
4
5
6
7
8
9
10
11
int ancho = 600;
int alto = 400;
 
//referenciar tu imagen en una variable de tipo imagen.
Image image = new ImageIcon(this.getClass().getResource("/tuImagen.jpg")).getImage();
//creas un objeto de tipo imageicon y le pasas la imagen referenciada anteriormente.
ImageIcon imagenfondo = new ImageIcon(image);
//para finalizar creas objeto de tipo Icon y le pasas la imagenIcon y el tamaño que quieres que tenga la imagen.
Icon icono = new ImageIcon(imagenfondo.getImage().getScaledInstance(ancho,alto,Image.SCALE_DEFAULT));
//seteas el componente y listo.
foto.setIcon(icono);

espero te sirva.

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar