Hi when i export my project to a .jar file the images don´t appear but whe i run the code in eclipse i can see them. I tryed many solutions i saw on google but anyone works fine for me. The images are in the Imagenes folder, in the same level of src. This is my code:
package Booo;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.*;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.*;
public class Ventana {
public static void main(String[] args) {
// TODO Auto-generated method stub
MarcoPrincipal mimarco=new MarcoPrincipal();
mimarco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mimarco.setVisible(true);
}
}
class MarcoPrincipal extends JFrame {
public MarcoPrincipal() {
setTitle("Invitación PJM Lujan 2021");
Toolkit mipantalla=Toolkit.getDefaultToolkit();
setBounds(400, 10, 750, 850);
this.setResizable(false);
Image miIcono=mipantalla.getImage("Imagenes/pjm.jpeg"); //icono del PJM
setIconImage(miIcono);
fondoPanel fondo= new fondoPanel();
this.setContentPane(fondo);
LaminaPrincipal lamina =new LaminaPrincipal();
lamina.setLayout(new FlowLayout(FlowLayout.CENTER,200,300));
add(lamina);
}
}
class LaminaPrincipal extends JPanel{
public LaminaPrincipal() {
this.setOpaque(false);
JButton botonOpen=new JButton("Abrir la Invitación");
add(botonOpen);
OyenteNuevo oyente=new OyenteNuevo();
botonOpen.addActionListener(oyente);
}
private class OyenteNuevo implements ActionListener{
public void actionPerformed(ActionEvent e) {
MarcoEmergente marco=new MarcoEmergente();
marco.setVisible(true);
}
}
}
class MarcoEmergente extends JFrame{
public MarcoEmergente () {
Toolkit mipantalla=Toolkit.getDefaultToolkit();
Image miIcono=mipantalla.getImage("Imagenes/pjm.jpeg"); //icono del PJM
setIconImage(miIcono);
setTitle("Invitación PJM Luján 2021");
Dimension tamanoPantalla= mipantalla.getScreenSize();
int alturaPantalla=tamanoPantalla.height;
int anchoPantalla=tamanoPantalla.width;
setSize(500,750);
setLocation(500,50);
textoImg lamina1=new textoImg(); //agrego la lamina
add(lamina1);
this.setResizable(false);
}
}
class textoImg extends JPanel{
public void paintComponent(Graphics g) {
super.paintComponent(g);
File miimagen = new File("Imagenes/inv.jpg");
try {
imagen2 = ImageIO.read(miimagen);
}
catch(IOException e) {
System.out.println("xd");
}
this.setOpaque(false);
g.drawImage(imagen2, 0, 0, getWidth(), getHeight(),this );
setOpaque(false);
//g2.drawString("¿Cuándo? El jueves 8 de julio", 150, 100);
}
private Image imagen2;
}
class fondoPanel extends JPanel{
private Image imagen;
public void paintComponent(Graphics g) {
super.paintComponent(g);
File miimagen2 = new File("Imagenes/back.jpg");
try {
imagen = ImageIO.read(miimagen2);
}catch(IOException e) {
System.out.println("Sds");
}
this.setOpaque(false);
g.drawImage(imagen, 0, 0, getWidth(), getHeight(),this);
setOpaque(false);
}
}