comment crée un fichier.jar? [Resolu] - Java - Programmation
Marsh Posté le 22-04-2008 à 15:15:22
En ayant jeté un coup d'oeil, ça doit être à la ligne :
Code :
|
Ton fichier KL.gif ne doit pas être trouvé, d'où le NullPointerException sur l'objet ImageIcon
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
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)
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
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
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.
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.
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 :
|
Marsh Posté le 29-04-2008 à 17:26:45
Code :
|
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
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
remarque: comment faire pour dire que mon problème est résolu?
Marsh Posté le 29-04-2008 à 21:14:37
vedoca a écrit : bonjours; |
Il faut éditer ton 1er message et changer le titre
(icone )
Marsh Posté le 30-04-2008 à 02:08:35
Bidem a écrit :
|
ca aurait du être quoi, "/images/JOU.GIG" ?
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