Inserer une image dans une frame java

Inserer une image dans une frame java - Java - Programmation

Marsh Posté le 14-02-2005 à 15:51:53    

Bonjour,
 
Après avoir effectué une recherche sur le forum, je n'ai pas trouvé la réponse à ma question!
 
Je voudrais savoir comment il faut faire pour insérer une image (jpg,bmp.....) dans une frame java?
Quelqu'un peut il m'envoyer un exemple de code?
 
Merci

Reply

Marsh Posté le 14-02-2005 à 15:51:53   

Reply

Marsh Posté le 14-02-2005 à 16:11:32    

Salut justone72,
Il te faut te servir de getToolkit
 

Code :
  1. Frame f = new Frame();
  2. Image img = f.getToolkit().getImage(urlImg);


 
Un media tracker pour charger l'image

Code :
  1. MediaTracker loader = new MediaTracker(c);
  2. loader.addImage(img,1);
  3. try {
  4. loader.waitForAll();
  5. }
  6. catch ( InterruptedException e ) {}


 
et il te faut redéfinir le méthode paint du composant dans lequel tu dessines:
 

Code :
  1. g.drawImage(img ,x, y, width, height, null)


Message édité par rompi le 14-02-2005 à 16:11:53
Reply

Marsh Posté le 14-02-2005 à 16:45:50    

Si c'est juste pour afficher l'image, le MediaTracker est pas super utile, non?

Reply

Marsh Posté le 14-02-2005 à 17:26:10    

Merci pour vos réponses
Néanmoins, je n'arrive pas à créer un objet g de type graphics.  
Le compilateur affiche une erreur : "g might not have been initialized".
Pouvez-vous m'aider SVP?
Merci.

Reply

Marsh Posté le 14-02-2005 à 17:55:26    

justone72 a écrit :

Merci pour vos réponses
Néanmoins, je n'arrive pas à créer un objet g de type graphics.  
Le compilateur affiche une erreur : "g might not have been initialized".
Pouvez-vous m'aider SVP?
Merci.


 
Quand tu rédéfini la méthode paint :  

Code :
  1. public void paint(Graphics g)
  2. {
  3. ...
  4. }


T'en as un tout beau  ;)  
 
Sinon, dans une frame, pour en obtenir un :

Code :
  1. Graphics g = this.getGraphics()


Message édité par Diody le 14-02-2005 à 17:57:08
Reply

Marsh Posté le 15-02-2005 à 13:18:47    

djok_fb a écrit :

Si c'est juste pour afficher l'image, le MediaTracker est pas super utile, non?


 
De mémoire, un MediaTracker sert à forcer le chargement l'image,
donc c'est pas obliger de l'utiliser mais si tu veux que ton image s'affiche directement, c'est conseillé...
 
justone72,  
j'espère que ca roule,
normalement comme te la signaler Diody,  
Le graphics a utiliser et celui qui est  
en paramètre de la méthode paint à surcharger...
 

Reply

Marsh Posté le 15-02-2005 à 14:09:08    

Diody a écrit :

Quand tu rédéfini la méthode paint :  


tu te prends un coup de pelle [:florentg]
 
c'est paintComponent() qu'il faut toucher dans le cas présent.
 
et c'est le paintComponent() du contentPane vu qu'une frame ne fait pas de peinture directement.


---------------
trainoo.com, c'est fini
Reply

Sujets relatifs:

Leave a Replay

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