Probleme avec JButton et ImageIcon

Messages postés
208
Date d'inscription
mardi 29 novembre 2005
Statut
Membre
Dernière intervention
13 mars 2009
-
Messages postés
108
Date d'inscription
samedi 31 juillet 2004
Statut
Membre
Dernière intervention
12 septembre 2009
-
J'ai un probleme avec JButton et ImageIcon quand je compile et que j'execute avec "Jcreator Le" tous fonctionne normalement j'ai ma fenetre avec mon bouton image mais quand je l'execute depuis ma page html dans mon navigateur (internet exploreur) j'ai un message d'erreur "Applet Montest notinited". j'ai remarquer que cela venais de ImageIcon des que je suprime la ligne en rouge et je fais un bouton texte mon applet fonctionne dans mon navigateur. Merci de me dire si vous voyez le probleme. J'ai fais des recherche sur google et sur se site mais je ne vois pas d'ou vien l'erreur.

Quelque ligne du code j'ai declarer tous ca on ne sais jamais

import  javax.swing.*;
import  java.awt.*;
import  java.awt.event.*;
import java.awt.Color;
import java.awt.Image;
import java.awt.Container;
import java.awt.MediaTracker;
import java.awt.event.KeyListener;
import java.awt.event.KeyEvent;
import javax.swing.JApplet;
import javax.swing.JPanel;
import java.net.URL;
import javax.swing.Icon;
import javax.swing.ImageIcon;

public class Montest extends JApplet implements ActionListener

JButton bout1=new JButton(new ImageIcon("a.gif"));
setLayout(null);
bout1.setBounds(5, 250, 40, 40);
add(bout1);

Pour voir le code complet

Merci de m'apporter une solution.

10 réponses

Messages postés
108
Date d'inscription
samedi 31 juillet 2004
Statut
Membre
Dernière intervention
12 septembre 2009
3
esseille ca
JButton bout1=new JButton(new ImageIcon(getCodeBase()+"a.gif"));

et l'image doit etre dans le mem repertoir que le fichier html
Messages postés
208
Date d'inscription
mardi 29 novembre 2005
Statut
Membre
Dernière intervention
13 mars 2009
1
Ok merci mais c'est pire quand j'execute avec "Jcreator Le" sa ne fonctionne plus et pas non plus dans ma page html.
Messages postés
108
Date d'inscription
samedi 31 juillet 2004
Statut
Membre
Dernière intervention
12 septembre 2009
3
il faut te dire que dans les applet il faut mettre le chemin absolu et non le relatif
c-a d http://tonserveur/lapage.htm
essille de voir ce qu'affiche getCodeBase();
et modifie un peut
esseille de rajouter a slash entre codeBase() et le chemin de l'icone
Messages postés
208
Date d'inscription
mardi 29 novembre 2005
Statut
Membre
Dernière intervention
13 mars 2009
1
J'ai pas tout compris je debute en java
Messages postés
108
Date d'inscription
samedi 31 juillet 2004
Statut
Membre
Dernière intervention
12 septembre 2009
3
si tu n'execute pas la page dans un serveur
codebase va te renvoyer




file://



c:....../a.gif
au lieu de





http://...../a.gif





supprime le








 





file://
 



set ne laisse que C:/....../a.gif
Messages postés
108
Date d'inscription
samedi 31 juillet 2004
Statut
Membre
Dernière intervention
12 septembre 2009
3
Dans les application Java tu peut appeler une ressource en ne precisant que sont chemain relatif
apartir du moment que la ressource se trouve dans la meme arborescence de fichiers
(comme tu vien de faire en ne mettant que a.gif)
mais pour les applet c'est different
il faut mettre le chemin complet

creer une nouvelle url
esseille avec ca

import java.net.*;

//....






JButton bout1;





//....









try
{
Url url = new Url(getCodeBase()+"a.gif");






bout1


=new JButton(url);






}
catch(Exception exp)
{
System.out.printl(exp.toString());
}
Messages postés
208
Date d'inscription
mardi 29 novembre 2005
Statut
Membre
Dernière intervention
13 mars 2009
1
J'ai essayer ca avec easyPHP et toujours la meme erreur


JButton bout1=new JButton(new ImageIcon(getCodeBase()+"http://127.0.0.1/applet/fbleu.gif"));  

et ca
JButton bout1=new JButton(new ImageIcon(getCodeBase()"http://127.0.0.1/applet/fbleu.gif"));  

Je vais essayer avec Url url
Messages postés
108
Date d'inscription
samedi 31 juillet 2004
Statut
Membre
Dernière intervention
12 septembre 2009
3
t'as pas tres bien compri 'ces le getCodeBase qui te rajoute l'adresse totale
t'as pas a la mettre dans ton code
regarde l'exemple que je t'es donne ;
j'ai mis un objet Url qui a comme argument la chaine du chemin complet
et laisse getCodeBase()+"a.gif"
tel qu'il est
esseille pour voir ;-)
Messages postés
208
Date d'inscription
mardi 29 novembre 2005
Statut
Membre
Dernière intervention
13 mars 2009
1
J'ai un petit peu modifier ton code et la c'est OK ca marche Merci pour ton aide sa fait 2 jours que j'etait a la recherche d'exemple j'ai pas tout compris mais le principal c'est que sa marche .Mais maintenant j'ai a peu pres 70 image a gerer.

URL url=null;


try
{


url =new URL(getCodeBase(),"a.gif");


} catch(MalformedURLException e) {
        String msg = "Error loading image a.gif";
        System.err.println(msg);
          System.exit(0);
    }
 
bout1 = new JButton(new ImageIcon(url));
Messages postés
108
Date d'inscription
samedi 31 juillet 2004
Statut
Membre
Dernière intervention
12 septembre 2009
3
Ahh oui c'est vrais j'avais un peut oublie la syntaxe
il faut passer le getCodeBase en argument et le fichier image comme 2e argument
ok de rien
bon courage
;-)