getResource a null
Publicado por EnmaAi (3 intervenciones) el 08/05/2007 16:29:42
Hola ^_^!
Estoy intentando hacer un jueguecillo en swing pero estoy teniendo problemillas.
En lugar de poner una ruta utilizo getClass().getClassLoader().getResource(...),
que permite obtener una URL apuntando a un subdirectorio relativo al sitio del cual fue cargada la clase, pero me está devolviendo null.
No se pudo cargar la imagen res/bicho.gif de null
El error fue : java.lang.IllegalArgumentException input == null!
La estructura de directorios es la siguiente:
-tablas-
-res (carpeta que contiene las imágenes)
-src-
- juego(que contiene los .java)
--------------------------------------------------------------------------------------------------------------------------
public class Prueba extends Canvas {
public static final int WIDTH = 800;
public static final int HEIGHT = 600;
public Prueba() {
JFrame ventana = new JFrame("Prueba");
JPanel panel = (JPanel)ventana.getContentPane();
setBounds(0,0,WIDTH,HEIGHT);
panel.setPreferredSize(new Dimension(WIDTH,HEIGHT));
panel.setLayout(null);
panel.add(this);
ventana.setBounds(0,0,WIDTH,HEIGHT);
ventana.setVisible(true);
ventana.addWindowListener( new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public BufferedImage loadImage(String nombre) {
URL url=null;
try {
url = getClass().getClassLoader().getResource(nombre);
return ImageIO.read(url);
} catch (Exception e) {
System.out.println("No se pudo cargar la imagen " + nombre +" de "+url);
System.out.println("El error fue : "+e.getClass().getName()+" "+e.getMessage());
System.exit(0);
return null;
}
}
public void paint(Graphics g) {
BufferedImage bicho = loadImage("res/bicho.gif");
g.drawImage(bicho, 40, 40,this);
}
public static void main(String[] args) {
Prueba inv = new Prueba();
}
}
-----------------------------------------------------------------------------------------------------------------------------------
Muchas gracias!!!!
Estoy intentando hacer un jueguecillo en swing pero estoy teniendo problemillas.
En lugar de poner una ruta utilizo getClass().getClassLoader().getResource(...),
que permite obtener una URL apuntando a un subdirectorio relativo al sitio del cual fue cargada la clase, pero me está devolviendo null.
No se pudo cargar la imagen res/bicho.gif de null
El error fue : java.lang.IllegalArgumentException input == null!
La estructura de directorios es la siguiente:
-tablas-
-res (carpeta que contiene las imágenes)
-src-
- juego(que contiene los .java)
--------------------------------------------------------------------------------------------------------------------------
public class Prueba extends Canvas {
public static final int WIDTH = 800;
public static final int HEIGHT = 600;
public Prueba() {
JFrame ventana = new JFrame("Prueba");
JPanel panel = (JPanel)ventana.getContentPane();
setBounds(0,0,WIDTH,HEIGHT);
panel.setPreferredSize(new Dimension(WIDTH,HEIGHT));
panel.setLayout(null);
panel.add(this);
ventana.setBounds(0,0,WIDTH,HEIGHT);
ventana.setVisible(true);
ventana.addWindowListener( new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public BufferedImage loadImage(String nombre) {
URL url=null;
try {
url = getClass().getClassLoader().getResource(nombre);
return ImageIO.read(url);
} catch (Exception e) {
System.out.println("No se pudo cargar la imagen " + nombre +" de "+url);
System.out.println("El error fue : "+e.getClass().getName()+" "+e.getMessage());
System.exit(0);
return null;
}
}
public void paint(Graphics g) {
BufferedImage bicho = loadImage("res/bicho.gif");
g.drawImage(bicho, 40, 40,this);
}
public static void main(String[] args) {
Prueba inv = new Prueba();
}
}
-----------------------------------------------------------------------------------------------------------------------------------
Muchas gracias!!!!
Valora esta pregunta


0