Probleme avec JButton et ImageIcon

cs_ralebole Messages postés 208 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 5 janvier 2023 - 9 sept. 2006 à 10:31
cs_stillfelil Messages postés 108 Date d'inscription samedi 31 juillet 2004 Statut Membre Dernière intervention 12 septembre 2009 - 9 sept. 2006 à 15:07
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

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

et l'image doit etre dans le mem repertoir que le fichier html
0
cs_ralebole Messages postés 208 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 5 janvier 2023 1
9 sept. 2006 à 13:34
Ok merci mais c'est pire quand j'execute avec "Jcreator Le" sa ne fonctionne plus et pas non plus dans ma page html.
0
cs_stillfelil Messages postés 108 Date d'inscription samedi 31 juillet 2004 Statut Membre Dernière intervention 12 septembre 2009 3
9 sept. 2006 à 13:40
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
0
cs_ralebole Messages postés 208 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 5 janvier 2023 1
9 sept. 2006 à 13:45
J'ai pas tout compris je debute en java
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_stillfelil Messages postés 108 Date d'inscription samedi 31 juillet 2004 Statut Membre Dernière intervention 12 septembre 2009 3
9 sept. 2006 à 13:45
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
0
cs_stillfelil Messages postés 108 Date d'inscription samedi 31 juillet 2004 Statut Membre Dernière intervention 12 septembre 2009 3
9 sept. 2006 à 13:52
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());
}
0
cs_ralebole Messages postés 208 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 5 janvier 2023 1
9 sept. 2006 à 14:06
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
0
cs_stillfelil Messages postés 108 Date d'inscription samedi 31 juillet 2004 Statut Membre Dernière intervention 12 septembre 2009 3
9 sept. 2006 à 14:17
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 ;-)
0
cs_ralebole Messages postés 208 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 5 janvier 2023 1
9 sept. 2006 à 14:29
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));
0
cs_stillfelil Messages postés 108 Date d'inscription samedi 31 juillet 2004 Statut Membre Dernière intervention 12 septembre 2009 3
9 sept. 2006 à 15:07
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
;-)
0
Rejoignez-nous