Foro sobre Java SE > Al crear .jar no me muestra las imágenes del proyecto
Buenas, mi problema es el siguiente:
Yo hice un proyecto nuevo donde utilice Imagenes para ponerlas como Background de Paneles JPanel...
El tema es que mientras hago las ejecuciones en JAVA Eclipse anda todo bien... Pero cuando Exporto el .jar funciona todo pero no muestra las imágenes...
Lo que hice fue crear una clase JBackgroundPanel donde hice este codigo:
@Override protected void paintComponent(Graphics g) { super.paintComponent(g); // paint the background image and scale it to fill the entire space g.drawImage(img, 0, 0, getWidth(), getHeight(), this); } }
Y luego desde un JFrame donde tengo un Panel, hago lo siguiente:
bgPanel = new JBackgroundPanel(); contentPane.add(bgPanel); bgPanel.setLayout(null);
Obviamente la clase JFrame es inmensa pero no se las muestro...
Alguien sabria darme una solucion para que al exportar el .jar se puedan ver las imagenes ? :s
Solucionado! no tuve que cambiar nada de Resources, con el plugin FatJar simplemente hacemos Click derecho sobre nuestra carpeta de Proyecto en Eclipse y le damos a Built Fat Jar y listo! el plugin se encarga de todo!
Buenas, mi problema es el siguiente:
Yo hice un proyecto nuevo donde utilice Imagenes para ponerlas como Background de Paneles JPanel...
El tema es que mientras hago las ejecuciones en JAVA Eclipse anda todo bien... Pero cuando Exporto el .jar funciona todo pero no muestra las imágenes...
Lo que hice fue crear una clase JBackgroundPanel donde hice este codigo:
package interfaces;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.JPanel;
public class JBackgroundPanel extends JPanel {
/**
*
*/
private static final long serialVersionUID = 1L;
private BufferedImage img;
public JBackgroundPanel() {
try {
img = ImageIO.read(new File("src/images/logo.png"));
}
catch(IOException e) {
e.printStackTrace();
}
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
// paint the background image and scale it to fill the entire space
g.drawImage(img, 0, 0, getWidth(), getHeight(), this);
}
}
Y luego desde un JFrame donde tengo un Panel, hago lo siguiente:
bgPanel = new JBackgroundPanel();
contentPane.add(bgPanel);
bgPanel.setLayout(null);
Obviamente la clase JFrame es inmensa pero no se las muestro...
Alguien sabria darme una solucion para que al exportar el .jar se puedan ver las imagenes ? :s