Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1628 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [java] Probleme pour afficher une image

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[java] Probleme pour afficher une image

n°966568
Drizzt
Posté le 31-01-2005 à 11:10:28  profilanswer
 

le hiérarchie est la suivante  Base1 -> Base -> Cellule -> Applet
 
dans Base1, avant j'affichais un simple carré noir, mais maintenant j'aimerais afficher une image, voici d'abord mon code :
 
 

Code :
  1. public void dessine(Graphics g)
  2. {
  3.   //g.setColor(Color.black);
  4.   //g.fillRect(1+40*l, 1+40*c, 39, 39);
  5.  uneImage("baseHumain.jpg" );
  6.  g.drawImage(img,1+40*l,1+40*c,this);
  7. }
  8. void uneImage(String fich)
  9. {
  10.  Toolkit tk=getToolkit();
  11.  img= tk.getImage(fich);
  12.  File f= new File(fich);
  13.  try
  14.  { img=ImageIO.read(f);
  15.  }catch(IOException e){System.out.println(e);}
  16. }


 
et voici le probleme que j'ai :
 
javax.imageio.IIOException: Can't read input file!
javax.imageio.IIOException: Can't read input file!
 
Mon fichier image s'appelle bien baseHumain.jpg, j'ai essayé avec un gif aussi, et il se situe au meme endroit que les fichiers .class
Evidemment l'image ne s'affiche pas.
 
Qqun à une idée ?


Message édité par Drizzt le 31-01-2005 à 11:11:20
mood
Publicité
Posté le 31-01-2005 à 11:10:28  profilanswer
 

n°966795
the real m​oins moins
Posté le 31-01-2005 à 14:45:02  profilanswer
 

t'es dans une applet là ?
avec File f = new File(fich), tu esperes qu'il aille le chercher où ce fichier ?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°966932
Drizzt
Posté le 31-01-2005 à 16:20:43  profilanswer
 

the real moins moins a écrit :

t'es dans une applet là ?
avec File f = new File(fich), tu esperes qu'il aille le chercher où ce fichier ?


 
ouais un applet mais ca doit me l'afficher dans une JFrame
 
Ben le fichier fich c'est "baseHumain.jpg" (passé en parametres), j'espere qu'il aille chercher celui la :/


Message édité par Drizzt le 31-01-2005 à 16:21:35
n°966935
the real m​oins moins
Posté le 31-01-2005 à 16:24:22  profilanswer
 

et il est ou, physiquement, ce fichier ?
 
(bon, pour gagner du temps:
- dans une applet, t'as pas accès au file system du user
- si tu veux acceder à une image qui est dans ton jar, tu dois passer par un truc genre getResourceAsStream
- si tu veux charger l'image depuis ton serveur web, jette un oeil au MediaTracker)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°966949
Drizzt
Posté le 31-01-2005 à 16:34:04  profilanswer
 

the real moins moins a écrit :

et il est ou, physiquement, ce fichier ?
 
(bon, pour gagner du temps:
- dans une applet, t'as pas accès au file system du user
- si tu veux acceder à une image qui est dans ton jar, tu dois passer par un truc genre getResourceAsStream
- si tu veux charger l'image depuis ton serveur web, jette un oeil au MediaTracker)


 
Le fichier est dans le package au milieu de mes .class
 
Je ne fais pas une application web, j'ai fait ca avec des applet pour hériter des fonctionnalités sonores et multimedia des applets.
 
j'ai essayé de plusieurs maniere, et j'arrive jamais a afficher une image :/

n°966951
the real m​oins moins
Posté le 31-01-2005 à 16:35:04  profilanswer
 

* getResourceAsStream ou MediaTracker
* je vois pas le rapport
* getResourceAsStream ou MediaTracker


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°967039
patachou
Posté le 31-01-2005 à 17:27:31  profilanswer
 

Si t'arrive toujours pas à afficher une image dans une applet, va voir :  
http://java.developpez.com/astuces/image/

n°967079
Drizzt
Posté le 31-01-2005 à 17:45:31  profilanswer
 

Merci a vous 2, j'ai essayé ca :
 

Code :
  1. public void dessine(Graphics g)
  2. {
  3.   //g.setColor(Color.black);
  4.   //g.fillRect(1+40*l, 1+40*c, 39, 39);
  5.    MediaTracker  trk = new MediaTracker(this) ;
  6.           Toolkit toolkit = Toolkit.getDefaultToolkit();
  7.          // Lecture de l'image
  8.           img =  toolkit.getImage( "./baseHumain.jpg" ) ;
  9.          // Ajout de l'image dans le MediaTracker
  10.   trk.addImage(img, 0) ;
  11.           try {
  12.  trk.waitForAll() ;
  13.           } catch (InterruptedException e) {
  14.  // Traitement de l'erreur
  15.           }
  16.      // Dessiner l'application
  17.           // On dessine l'image a la position 5/10
  18.           g.drawImage(img, 1+40*l, 1+40*c, this) ;
  19.     }


 
ca compile sans erreur, mais pas d'image :(

n°967086
the real m​oins moins
Posté le 31-01-2005 à 17:53:02  profilanswer
 

l'est ou ton image dans ton jar?
si à la racine:
toolkit.getImage("/baseHumain.jpg" );
si dans le même package que la classe en cours:
toolkit.getImage("baseHumain.jpg" );


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°967104
Drizzt
Posté le 31-01-2005 à 18:02:36  profilanswer
 

the real moins moins a écrit :

l'est ou ton image dans ton jar?
si à la racine:
toolkit.getImage("/baseHumain.jpg" );
si dans le même package que la classe en cours:
toolkit.getImage("baseHumain.jpg" );


 
 
j'ai qu'un seul package, et y'a tout dedant, les classes et l'image.
 
Je viens d'essayer tes 2 syntaxes, ca compile, mais rien ne s'affiche :(
 
 
Je précise aussi que le init() n'est pas dans cette classe mais dans une autre qui appelle la méthode dessine de cette classe.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [java] Probleme pour afficher une image

 

Sujets relatifs
Problème include de fichier [résolu][VB.NET] Probleme de lancement d'une applet
Existe t'il un livre qui regroupe toutes les fonctions Java[Résolu] Problème de requête
[Resolu] [Mysql]Probleme d'insertion de string avec des anti slashs[Problème résolu] Lancer un module VBA par VB
Problème de smiles ds phpbbProbleme d'upload
Problème avec... ?_? (formulaire et modification de doc. txt inside) 
Plus de sujets relatifs à : [java] Probleme pour afficher une image


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR