[Resolu]comment crée un fichier.jar?

comment crée un fichier.jar? [Resolu] - Java - Programmation

Marsh Posté le 22-04-2008 à 15:12:00    

bonjour,
j'ai un problème lors de création de mon fichier .jar il se crée avec succées mais quand je le lance sous dos voila ce qu'il m'affiche  
 
 
 
C:\Documents and Settings\bonbino\Bureau\detourner>java -jar fichier.jar
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at javax.swing.ImageIcon.<init>(Unknown Source)
        at Interface.getJbtnOpen(Interface.java:374)
        at Interface.getJJToolBarBar1(Interface.java:362)
        at Interface.getJPanel(Interface.java:399)
        at Interface.getJContentPane(Interface.java:903)
        at Interface.initialize(Interface.java:888)
        at Interface.<init>(Interface.java:878)
        at Interface$9.run(Interface.java:866)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
 
 
vous voyez cette erreur Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at javax.swing.ImageIcon.<init>(Unknown Source) si vous pouvez m'expliquer ce qu'elle veut dire je serais reconnaissant car je crois c'est la source du probleme  
 
voila un bout du code ou se situe les erreurs  
 
 
 
 
  private JButton getJbtnNew() {
  if (jbtnNew == null) {
   jbtnNew = new JButton();
   jbtnNew.setIcon(new ImageIcon(getClass().getResource("KL.gif" )));
   jbtnNew.setToolTipText("Nouveau" );
   jbtnNew.setPreferredSize(new java.awt.Dimension(32,44));
   jbtnNew.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent e) {
     }
   }
   );
   }
  return jbtnNew;
 }
   
/**
  * This method initializes jbtnOpen  
  *  
  * @return javax.swing.JButton  
  */
 
 
 private JButton getJbtnExit() {
  if (jbtnExit == null) {
   jbtnExit = new JButton();
   jbtnExit.setIcon(new ImageIcon(getClass().getResource("13.gif" )));
   jbtnExit.setToolTipText("Quitter" );
   jbtnExit.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent e) {
     
     quit();
    }
   });
  }
  return jbtnExit;
 }
 
 /**
  * This method initializes jbtnSave  
  *  
  * @return javax.swing.JButton  
  */
 private JButton getJbtnSave() {
  if (jbtnSave == null) {
   jbtnSave = new JButton();
   jbtnSave.setIcon(new ImageIcon(getClass().getResource("/44_p3.gif" )));
   jbtnSave.setToolTipText("Enregistrer" );
   jbtnSave.setPreferredSize(new java.awt.Dimension(32,32));
   jbtnSave.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent e) {
     save();    }
   });
  }
  return jbtnSave;
 }      
     
       
 /**
  * This method initializes jJToolBarBar  
  *  
  * @return javax.swing.JToolBar  
  */
  /********************la bar d'outils**************************/
  /********************dans un panel NORTH*******************/
  /********************************************/
   
 private JToolBar getJJToolBarBar1() {
  if (jJToolBarBar1 == null) {
   jJToolBarBar1 = new JToolBar();
  jJToolBarBar1.setLocation(new java.awt.Point(0,0));
   jJToolBarBar1.setSize(new java.awt.Dimension(500,440));
   jJToolBarBar1.setFloatable(false);
   jJToolBarBar1.add(getJbtnNew());
   jJToolBarBar1.add(getJbtnOpen());
   jJToolBarBar1.add(getJbtnSave());
   jJToolBarBar1.add(getJbtnExit());
   /*jJToolBarBar1.add(getJCapture());*/
  }
  return jJToolBarBar1;
 }    
   
   
 private JButton getJbtnOpen() {
  if (jbtnOpen == null) {
   jbtnOpen = new JButton();
   jbtnOpen.setIcon(new ImageIcon(getClass().getResource("images/JOU.GIF" )));
   jbtnOpen.setToolTipText("Ouvrir" );
   jbtnOpen.setPreferredSize(new java.awt.Dimension(32,44));
   jbtnOpen.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent e) {
     
      open();
     
    }
   });
  }
  return jbtnOpen;
 }
 /**
  * This method initializes jPanel
  *  
  * @return javax.swing.JPanel
  */
 private JPanel getJPanel() {
  if (jPanel == null) {
   jPanel = new JPanel();
   jPanel.setLayout(new BorderLayout());
   
   jPanel.setPreferredSize(new java.awt.Dimension(50, 70));                        
            jPanel.add(getJJMenuBar(),BorderLayout.NORTH); //ajouter le bar de menu au panel
   jPanel.add(getJJToolBarBar1(),null );  //ajouter la barre d'outils au panel
  }
  return jPanel;
 }[b][b][b][/b][/b][/b]


Message édité par vedoca le 30-04-2008 à 16:34:16
Reply

Marsh Posté le 22-04-2008 à 15:12:00   

Reply

Marsh Posté le 22-04-2008 à 15:15:22    

En ayant jeté un coup d'oeil, ça doit être à la ligne :
 

Code :
  1. jbtnNew.setIcon(new ImageIcon(getClass().getResource("KL.gif" )));


 
Ton fichier KL.gif ne doit pas être trouvé, d'où le NullPointerException  sur l'objet ImageIcon

Reply

Marsh Posté le 22-04-2008 à 19:09:30    

oui le problème il est à ce niveau mais j'ai tout mis dans le même répertoire d'où je ne comprend pas pourquoi cette erreur mais quand j'enlève les image mon .jar fonctionne correctement

Reply

Marsh Posté le 22-04-2008 à 19:53:48    

vedoca a écrit :

oui le problème il est à ce niveau mais j'ai tout mis dans le même répertoire d'où je ne comprend pas pourquoi cette erreur mais quand j'enlève les image mon .jar fonctionne correctement


 
Alors 2 possibilités :
- tu mets ton fichier KL.gif dans ton jar
- tu définis mieux ton classpath quand tu lances ton jar (inclure le répertoire courant par exemple si tes ressources sont dedans)

Reply

Marsh Posté le 23-04-2008 à 18:28:30    

bonjour;
 j'ai pas compris se que tu veut dire par" tu définis mieux ton classpath quand tu lances ton jar (inclure le répertoire courant par exemple si tes ressources sont dedans)" pour mois j'ai les les code source et les image dans le même répertoire et quand je crée mon .jar je mis mes .class et les .gif à l'intérieur , il se crée normalement mais il fonctionne pas  peut tu m'expliquer encore un peut en détaille je te remercie pour ces réponse

Reply

Marsh Posté le 23-04-2008 à 20:28:47    

Reply

Marsh Posté le 23-04-2008 à 22:51:43    

bonjour;
ma classpath est se change  automatiquement car j'utilise le jdk version 6, le problème n'est pas la car à l'exécution tout s'affiche et fonctionne normalement

Reply

Marsh Posté le 27-04-2008 à 19:30:17    

bonjour frabill;
 
j'ai compris se que vous voulais dire mais je n'utilise aucune lib externe ou un jar pour l'associer au classpath vraiment je ne comprend pas pourquoi ce problème
merci de ton aide.

Reply

Marsh Posté le 29-04-2008 à 16:44:51    

salut, c'est pas un pb de classpath, mais un pb d'instanciation de classe. Un beau bug de ta part quoi.
Ca veut dire concrètement que tu souhaites utiliser un objet qui n'a pas été créé.
 
edit: oops pardon, lu trop vite; frabill doit avoir raison sur la source de l'erreur.
Vérifie le chemin exact pour appeler des resources internes.


Message édité par wapcamer le 29-04-2008 à 16:47:52

---------------
Voir les RAW sous Android: https://market.android.com/details? [...] .RawVision Blog Photo: http://photouch.me Applications mobiles: http://caketuzz.com Wapcam Project: http://wapcam.mobi
Reply

Marsh Posté le 29-04-2008 à 17:21:21    

bonjour;
 
là je ne comprend vraiment rien du tout, alors pour crée mon fichier.jar je crée mon fichier manifest.txt
la je mis cette ligne
Main-Class: MianClass   //le nom de la classe principale  
puis j'utilise cette commande pour créer le fichier.jar  
 
jar cmf manifest.txt fichier.jar *.class
 
remarque:tout mon code et mes image se trouve dans le même répertoire le fichier.jar aussi
 
et quand je veux ouvrirr mon fichier.jar voila se qu'il s'affiche :

Code :
  1. Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
  2.         at javax.swing.ImageIcon.<init>(Unknown Source)
  3.         at Interface.getJbtnNew(Interface.java:316)
  4.         at Interface.getJJToolBarBar1(Interface.java:404)
  5.         at Interface.getJPanel(Interface.java:427)
  6.         at Interface.getJContentPane(Interface.java:934)
  7.         at Interface.initialize(Interface.java:920)
  8.         at Interface.<init>(Interface.java:910)
  9.         at Interface$10.run(Interface.java:898)
  10.         at java.awt.event.InvocationEvent.dispatch(Unknown Source)
  11.         at java.awt.EventQueue.dispatchEvent(Unknown Source)
  12.         at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
  13.         at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
  14.         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
  15.         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  16.         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  17.         at java.awt.EventDispatchThread.run(Unknown Source)


 

Reply

Marsh Posté le 29-04-2008 à 17:21:21   

Reply

Marsh Posté le 29-04-2008 à 17:26:45    

Code :
  1. new ImageIcon(getClass().getResource("KL.gif" ))
  2. new ImageIcon(getClass().getResource("13.gif" ))
  3. new ImageIcon(getClass().getResource("/44_p3.gif" ))
  4. new ImageIcon(getClass().getResource("images/JOU.GIF" ))


 
essayes d'être cohérent dans la gestion des images (toutes au même endroit).
 
Contrairement à ce qu'il a été dit plus haut, c'est "images/JOU.GIF" qui pose problème

Reply

Marsh Posté le 29-04-2008 à 18:25:16    

bonjours;
c'est bon j'ai régler le problème c'était les noms des images  
merci à tout ce qui a participé dans discussion :jap:  
 
remarque: comment faire pour dire que mon problème est résolu?

Reply

Marsh Posté le 29-04-2008 à 21:14:37    

vedoca a écrit :

bonjours;
c'est bon j'ai régler le problème c'était les noms des images  
merci à tout ce qui a participé dans discussion :jap:  
 
remarque: comment faire pour dire que mon problème est résolu?


 
Il faut éditer ton 1er message et changer le titre
 
(icone http://forum-images.hardware.fr/themes_static/images_forum/1/edit.gif)

Reply

Marsh Posté le 30-04-2008 à 02:08:35    

Bidem a écrit :

Code :
  1. new ImageIcon(getClass().getResource("KL.gif" ))
  2. new ImageIcon(getClass().getResource("13.gif" ))
  3. new ImageIcon(getClass().getResource("/44_p3.gif" ))
  4. new ImageIcon(getClass().getResource("images/JOU.GIF" ))


 
essayes d'être cohérent dans la gestion des images (toutes au même endroit).
 
Contrairement à ce qu'il a été dit plus haut, c'est "images/JOU.GIF" qui pose problème


ca aurait du être quoi, "/images/JOU.GIG" ?


---------------
Voir les RAW sous Android: https://market.android.com/details? [...] .RawVision Blog Photo: http://photouch.me Applications mobiles: http://caketuzz.com Wapcam Project: http://wapcam.mobi
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed