imageio.IIOException: No se puede leer el archivo de entrada
Comencé con Java hace una semana y ahora me gustaría insertar una imagen en mi ventana. Lo que sea que intente, sigo teniendo esto en Eclipse:javax.imageio.IIOException: ¡No se puede leer el archivo de entrada!
package graphics;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
import src.Common;
public class Window extends JFrame
{
public class Panel extends JPanel
{
public void paintComponent(Graphics g)
{
Image img;
try
{
img = ImageIO.read(new File("/logo.jpg"));
g.drawImage(img, 0, 0, this);
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
public Window(String title, int width, int height)
{
this.setTitle(title);
this.setSize(width, height);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setContentPane(new Panel());
this.setVisible(true);
}
}
Creo que el código es bastante autoexplicativo. Traté de resolver el problema conesta, estayese .
Lo que estoy tratando de hacer es un programa de escritorio, y mis fuentes se almacenan así: training / src / graphics / Window training / src / src / main
Puse la imagen que quiero leer en todas las carpetas y aún tengo el problema: /
¿Qué hice mal?
EDITAR Finalmente resuelto, aquí la respuesta.
gracias me dio elenlazar Eso ayudó. Así que puse mis imágenes en una carpeta y cambié la forma de acceder a ellas, como se describe en el enlace.
getClass().getResource("/images/yourImageName.extension");