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

  FORUM HardWare.fr
  Programmation
  Java

  inserer une gif animé

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

inserer une gif animé

n°397987
bob_thekin​g
Posté le 17-05-2003 à 17:21:14  profilanswer
 

Salut a tous !!
je voudrais inserer une gif animé dans une fenetre mais je n'y arrive pas, savez vous comment on fait ??
g reussi a mettre une gif non animée mais si j'en met une animé elle s'affiche mais ne s'anime pas.
je vous met le code si ca peut vous aider (g precisé en rouge ou je voulais mettre ma gif) :
 
public class Plateau extends JComponent{
    Environnement envir;
    Font f;
    JButton bStep;
    int moutvivant;
    final static Color coul = Color.green.darker();
    int k,
 compt,  
 hauteur,  
 largeur,  
 taillecase;  
   
public Plateau(Environnement env) {
 envir = env;
 k=0;  
 compt = -1;  
 hauteur = 400;  
 largeur = 400;  
 taillecase = 40;  
 setBackground(coul);
    }
 
    public void paintComponent(Graphics g){
 ImageIcon im_mouton, im_moutondep, im_herbe;
 
 Image im_loup;
 im_mouton = new ImageIcon("jeutest/mouton.gif" );
 //im_loup = new Image("jeutest/loup.gif" );
 im_moutondep = new ImageIcon("jeutest/moutonbiere.gif" );
 im_herbe = new ImageIcon("jeutest/herbe.gif" );  
 int viemout = 0;
 
 
 f = new Font("Courier", Font.BOLD, 20);
 g.setFont(f);
 
 if (compt == 0) {
 
     im_moutondep.paintIcon(this,g,100,100);
     try { Thread.sleep(1000);} catch (Exception ex){};
     g.setColor(Color.black);
     g.fillRect(0,0,largeur+10,hauteur+80);
     g.setColor(Color.white);
     g.drawString("Jeu LOUP-AGNEAU",120,170);
     try { Thread.sleep(1000);} catch (Exception ex){};
     
     g.setColor(Color.black);
     g.fillRect(0,0,largeur+10,hauteur+80);
     g.setColor(Color.white);
     g.drawString("Presente par",120,170);
     try { Thread.sleep(2000);} catch (Exception ex){};
     
     g.setColor(Color.black);
     g.fillRect(0,0,largeur+10,hauteur+80);
     g.setColor(Color.white);
     g.drawString("Coupat Julien",120,120);
     g.drawString("ET",140,140);
     g.drawString( "Fernandes Francois",115,160);
     try { Thread.sleep(2000);} catch (Exception ex){};
     repaint();
     compt++;
     return;
 }
 
     if (compt == 1) {
     g.setColor(getParent().getBackground());
     g.fillRect(0,0,largeur+10,hauteur+80);
     
     g.setColor(getBackground());
     g.fillRect(0,0,largeur+10,hauteur+80);
 
     viemout = 0;
     
 
     // Dessin de l'environnement
     for (int i=0;i<envir.nblargeur;i++){
  for (int j=0;j<envir.nblargeur;j++){
      if (envir.p[i][j] == true){
   im_herbe.paintIcon(this,g,i*40,j*40);
      }
  }
     }
 
     // Dessin des moutons
     //g.setColor(Color.black);
     for (int i=0;i<envir.nbmouton;i++){
  if (envir.mouton[i].vie) {
      im_mouton.paintIcon(this,g,((envir.mouton[i].position.getx())*40),((envir.mouton[i].position.gety())*40));
       
  } // if
     } // for
     
     // dessin des loup
      for (int l=0;l<envir.nbloup;l++){
     
 im_loup = Toolkit.getDefaultToolkit().getImage("jeutest/loup.gif" );
c'est ici que je voudrais mettre ma gif
 g.drawImage(im_loup,(envir.lp[l].position.getx()*40),(envir.lp[l].position.gety()*40),40,40,this);
 repaint();
 //  im_loup[i].paintIcon(this,g,(envir.lp[l].position.getx()*40),(envir.lp[l].position.gety()*40));
 
      }
   
for (int v=0; v<envir.nbmouton;v++){
  if (envir.mouton[v].vie){
      viemout++;
  }
     }
     
 
     if (viemout == 0){
  compt = 2;
     }
        repaint();  
     }
 
 if (compt > 1){
     g.setColor(getBackground());
     g.fillRect(0,0,largeur+10,hauteur+80);
     g.setColor(Color.black);
     g.drawString("Partie terminée",100,150);
 }
     }
} //plateau

mood
Publicité
Posté le 17-05-2003 à 17:21:14  profilanswer
 

n°398271
veryfree
Posté le 18-05-2003 à 02:36:27  profilanswer
 

essaye :  
 

Code :
  1. JLabel gifLabel = new JLabel(new ImageIcon(getClass().getResource("/jeutest/loup.gif" )));


 
enfin je sais pas si ca va t aider dans ton cas mais a mon avis si tu passe par imageIcon t aura plus de probleme...


Message édité par veryfree le 18-05-2003 à 02:38:04
n°399412
bob_thekin​g
Posté le 19-05-2003 à 12:30:58  profilanswer
 

ok, mais comment on fait pour la dessiner a un endroit precis ??

n°399431
veryfree
Posté le 19-05-2003 à 12:52:08  profilanswer
 

bob_theking a écrit :

ok, mais comment on fait pour la dessiner a un endroit precis ??


 
ben j ai jamais vraiment fait ce genre e chose en java, le pro des canvas c'est gfive
 
mais on le vois plus trop  :sweat:

n°399439
darklord
You're welcome
Posté le 19-05-2003 à 12:58:24  profilanswer
 

veryfree a écrit :


 
ben j ai jamais vraiment fait ce genre e chose en java, le pro des canvas c'est gfive
 
mais on le vois plus trop  :sweat:  


 
+1 :sweat:


---------------
Just because you feel good does not make you right
n°400867
gfive
Posté le 20-05-2003 à 10:26:42  profilanswer
 

Tadaaaam!! :D:D
 
Pour les gif animés, j'ai jamais trop fait ça...Enfin, si, mais c'était une grosse galère..
En gros, j'avais un machin truc qui insérait des images dans du texte, en AWT, et quand j'ai essayé de mettre des gifs animés dedans, ça marchait....pour un ou deux des gifs, mais pas pour tous!!  
 
Enfin, un truc que tu peux essayer, déjà, c'est d'ajouter un mouseListener sur ton bouzin, et de le faire redessiner dans la méthode mouseMoved(Point p) : si, après ça, l'image s'anime quand tu bouges la souris dessus, c'est que tu as besoin d'appeller repaint() pour animer ton gif....Ensuite, comment l'appeller....Ben, ça dépend : si tu utilises Swing, il faudra que tu crées une thread pour gérer le dessin de ton composant.. En AWT, c'est plus flou dans ma tête...
 
bah sinon, pour des trucs en AWT, et tout :  
 
 http://site.voila.fr/gfive/  
 
A venir, d'autres sources, du Swing, tout ça.


Message édité par gfive le 20-05-2003 à 10:28:19
n°400879
bob_thekin​g
Posté le 20-05-2003 à 10:37:23  profilanswer
 

en fait g laisser mes images en Images et non pas en ImagesIcon
et en mettant des gif de plus petites taille (2ko) au lieu de celle que j'avais qui faissait 10ko elles sont animées pratiquement tout le temps comme si mon ordi ramait trop pour tout afficher a la fois (c un 1800+ avec geforce 4 ti 4200 lol)

n°400881
gfive
Posté le 20-05-2003 à 10:39:30  profilanswer
 

ouais, j'avais eu le même problème, en fait, avec mon machin, c'est pour ça qu'il animait pas tout.... En fait, la thread qui fait tourner ton truc a "pas le temps" d'animer les gifs, et de faire le reste du boulot à la fois, je pense...Mais j'en suis pas sûr!!  
 
 
Mais sinon, essaie un truc :  
 
Si ta classe s'appelle toto :
 
class Toto implements ImageObserver {
 
private Image tonimage;
/*... Ton code ..*/
 
public boolean imageUpdate(Image img, int infoflags, int x, int y, int width, int height) {
if (img == tonimage) {
 repaint();
}
 
}
 
 
Pour peu que ton image ait été chargée par le toolkit, ça devrait donner qqchose...(au pire, enlève le test de "if img = tonimage" )
 
 


Message édité par gfive le 20-05-2003 à 10:59:03
n°401459
the real m​oins moins
Posté le 20-05-2003 à 16:18:38  profilanswer
 

gfive est de retour \o/
(la video de lotr donne un 404 :()


Message édité par the real moins moins le 20-05-2003 à 16:22:59

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°401475
gfive
Posté le 20-05-2003 à 16:30:00  profilanswer
 

ouais, je sais!! C'est un pote qui l'hébergait, et il s'est fait fermer son site à cause de la limite de dl dépassée! :D

mood
Publicité
Posté le 20-05-2003 à 16:30:00  profilanswer
 

n°401486
the real m​oins moins
Posté le 20-05-2003 à 16:35:43  profilanswer
 

gfive a écrit :

ouais, je sais!! C'est un pote qui l'hébergait, et il s'est fait fermer son site à cause de la limite de dl dépassée! :D

roh :/
tu me la files? :whistle:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°401498
gfive
Posté le 20-05-2003 à 16:39:07  profilanswer
 

bah....40Mo, tu veux que je la mette où??

n°401528
the real m​oins moins
Posté le 20-05-2003 à 16:51:55  profilanswer
 

gfive a écrit :

bah....40Mo, tu veux que je la mette où??  

ché pas, un compte free? :)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°401576
gfive
Posté le 20-05-2003 à 17:13:33  profilanswer
 

bah, sur le mien, ça va pas le faire : j'ai pôs 40 Mo! :D Mais je te le mettrai qqpart.
 
Envoie un mail là : gfive@altern.org je te tiendrais au courant.

n°401595
veryfree
Posté le 20-05-2003 à 17:30:22  profilanswer
 

gfive a écrit :

bah, sur le mien, ça va pas le faire : j'ai pôs 40 Mo! :D Mais je te le mettrai qqpart.
 
Envoie un mail là : gfive@altern.org je te tiendrais au courant.


 
c quoi ste video :o ?


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

  inserer une gif animé

 

Sujets relatifs
[mysql] inserer des données provenant d'une autre tableinserer un applet java dans une page en xhtml 1.1 ?
[java_debutant]Inserer une image dans une fenetre?Fichier Batch : comment insérer des balises ? [Pb résolu]
Insérer dynamiquement un control ds une frame?[RESOLU][XHTML COMPLIANT] comment insérer du javascript ?
[edit] aide java (comment inserer une image dans une fenetre ??)ou inserer du javascript dans une page php
[validation W3C] où peut on insérer un élément <script>crée un fond de dossier du disque animé !!!!! help !!!!! html
Plus de sujets relatifs à : inserer une gif animé


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