Java - Problema con Imagen e Icono

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

Problema con Imagen e Icono

Publicado por Sebastian (8 intervenciones) el 31/07/2020 07:25:02
Hola a todos, desde hace ya un buen rato estoy intentando insertar mi primer imagen a mi marco, el problema esta en que he intentado con todas las direcciones posibles para que el programa localice la imagen.
Llevo horas intentandolo pero no se cual es la falla, lo mismo me ocurre a la hora de cambiar el icono del marco, si alguien me puede ayudar se lo agradeceria. Saludos!
Captura-de-pantalla-61Captura-de-pantalla-61

Codigo:

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
package graficos;
import java.awt.*;
import javax.imageio.*;
import javax.swing.*;
import java.io.*;
 
public class Imagenes {
 
	public static void main(String[] args) {
    MarcoImagen mimarco=new MarcoImagen();
 
	}
 
}
 
class MarcoImagen extends JFrame{
	public MarcoImagen() {
		setSize(400,400);
		setTitle("Prueba de Imagen");
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setLocationRelativeTo(null);
		setVisible(true);
		LaminaConImagen milamina= new LaminaConImagen();
		add(milamina);
	}
}
class LaminaConImagen extends JPanel{
	public void paintComponent (Graphics g) {
		super.paintComponent(g);
 
		File miimagen=new File("src/graficos/coche.png");
 
		try {
			imagen=ImageIO.read(miimagen);
		} catch (IOException e) {
 
			System.out.println("No hay imagen");
		}
		g.drawImage(imagen, 5,5, null);
 
	}
	private Image imagen;
}
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 Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Problema con Imagen e Icono

Publicado por Kabuto (1381 intervenciones) el 01/08/2020 12:52:05
Sí, las primeras veces que intentamos cargar imágenes son algo problemáticas.
Encima, a veces cuando consigues que funcione en el IDE, luego si compilas un archivo JAR no funciona con la misma ruta que has usado para el IDE.

Yo por lo general consigo evitar problemas creando dentro del proyecto un package exclusivo para las imágenes.
package-Marco

Luego, para obtener la URL (localización) de este "recurso", utilizo la siguiente instrucción:

1
imagen = ImageIO.read(MarcoImagen.class.getClassLoader().getResource("img/DesertSpirit.gif"));

Y de este modo me funciona tanto desde el IDE como si compilo un JAR.

codigo


Te muestro el código completo que he escrito, prácticamente calcado al tuyo.

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
public class MarcoImagen extends JFrame{
 
	private Image imagen;
 
	public MarcoImagen() {
 
		LaminaConImagen milamina= new LaminaConImagen();
		add(milamina);
 
		setSize(450, 450);
		setTitle("Prueba de Imagen");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLocationRelativeTo(null);
		setVisible(true);
	}
 
 
	class LaminaConImagen extends JPanel {
 
		@Override
		public void paintComponent(Graphics g) {
			super.paintComponent(g);
 
			try {
				imagen = ImageIO.read(MarcoImagen.class.getClassLoader().getResource("img/DesertSpirit.gif"));
			} catch (IOException e) {
				e.printStackTrace();
			}
 
			g.drawImage(imagen, 0, 0, null);
		}
	}
 
 
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			@Override
			public void run() {
				new MarcoImagen();
			}
		});
	}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
3
Comentar
sin imagen de perfil
Val: 14
Ha aumentado su posición en 7 puestos en Java (en relación al último mes)
Gráfica de Java

Problema con Imagen e Icono

Publicado por Sebastian (8 intervenciones) el 02/08/2020 03:40:51
Gracias por tu ayuda, me funcionó!
Ahora si estoy tranquilo, muchas gracias!
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