Bonjour
C'est une question apparemment déjà 1000 fois posée, cependant je sèche après 1 après-midi de google.
Quand j'exécute en tant que "application java" depuis eclipse, la fenêtre de l'application avec le gif animé s'affiche bien.
Mais quand j'exporte l'application en jar et que j'exécute le jar, la fenêtre de l'application s'affiche mais sans le gif.
Pourtant,
dans properties/Java Build Path/source : je rajoute bien le dossier /img qui contient le gif.
je vois :
+ microOnde/img
+ microOnde/src
Comme après l'exportation le gif se retrouvera à la racine je change
ImageIcon ic = new ImageIcon("img/sourisquimarche.gif");
par
ImageIcon ic = new ImageIcon("sourisquimarche.gif");
A la 3ième fenêtre de l'export je rajoute la classe qui contient le main.
quand je fais un 7-Zip du jar je vois sur le même niveau :
le dossier principal avec dedans mon java et mon class
sourisquimarche.gif
voici le code
Si vous avez une piste ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 package principal; import java.awt.*; import javax.swing.*; public class MicroOndes extends JFrame { public MicroOndes() throws HeadlessException{ // pour mettre le titre on appelle le parent qui a un constructeur pervu pour super("Mon MicroOndine..."); // je dimensionne le frame setSize(500, 250); // je met BorderLayout comme plus grand layout setLayout (new BorderLayout()); // je met l'image dans la partie centrale ImageIcon ic = new ImageIcon("sourisquimarche.gif"); add(new JButton(ic),BorderLayout.CENTER); // je prepare le sortie propre setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main (String [] args){ MicroOndes mc = new MicroOndes(); mc.setVisible(true); } }![]()
Partager