Probleme avec draw Image

cs_dipin Messages postés 60 Date d'inscription dimanche 26 septembre 2004 Statut Membre Dernière intervention 15 octobre 2009 - 1 oct. 2008 à 20:09
 Utilisateur anonyme - 2 oct. 2008 à 16:23
bonjour !
alors je suis débutant dans le java mais j'ai un petit bug qui m'empêche d'afficher une image pourtant aucun erreur en retour ni d'exception voici mon code principal :

import javax.swing.JApplet;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Color;
import java.awt.Image;
import java.net.*;

public class Bomber extends JApplet{

    //titre du jeu avec police -----------------------------------------
    static final String message = " BOMBERSRC";
    private Font maFonte = new Font("serif",Font.ITALIC+Font.BOLD,36);
    //6-----------------------------------------------------------------
    //images du jeu
    private Image fond_bomberman; // image de fond
   
    //dimension de l'apli---------------------------------------------------------
    int largeur = 800;
    int hauteur = 600;
    //----------------------------------------------------------------------------
   
    //declaration des instance-----------------------------
    Gui_air_jeu air ;
   
    //--------------------------------------------------
   
    public void init()
    {
        //affectation des dimension de lappli
        this.setSize(largeur,hauteur);
       
        //chargement images ----------------------------------------
        try
        {
            fond_bomberman = this.getToolkit().getImage(new URL (getDocumentBase(), "../images/fond_bomber.jpeg"));
        }
        catch (MalformedURLException exc)
        {
            System.out.println("probleme dans le chargement de l'image (n° de l'erreur :"+exc);
        }
       
        air = new Gui_air_jeu(fond_bomberman);
        //----------------------------------------------------------
       
        this.repaint();
    }//fin init()
   
    public void paint(Graphics g)
    {
        air.dessiner(g);
    }//fin methode paint
   
}//fin class bomber

et voici le class air de jeu qui permet l'affichage de l'image :

import java.awt.Graphics;
import java.awt.Image;
import javax.swing.*;

public class Gui_air_jeu {

    Image fond;
   
   
   
    public Gui_air_jeu(Image fond_bomber)
    {
        fond = fond_bomber;
       
    }
   
    void dessiner(Graphics g)
    {
       
            g.drawImage(fond,0,0,null);
   
       
        g.drawRect(10, 20, 600, 400);
    }
   

}

j'ai fait tracé un rectangle en plus pour voir si c'était ma class qui buguer mais no le rectangle s'affiche bien mais pas l'image si quelqu'un peu m'aider se serai super !
merci d'avance

4 réponses

Utilisateur anonyme
2 oct. 2008 à 12:48
Bonjour

getImage() est asynchrone, il se peut que le chargement de l'image ait été interrompu et alors, drawImage n'a rien à afficher. Essaie de passer la JApplet elle-même comme ImageObserver en dernier paramètre de drawImage pour voir si ça change quelque chose. Essaie de récupérer le résultat que renvoie drawImage. Si c'est false, ça veut dire que les pixels sont encore en train de changer, je te conseille de jeter un coup d'oeil dans la documentation :
http://java.sun.com/javase/6/docs/api/

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
0
cs_dipin Messages postés 60 Date d'inscription dimanche 26 septembre 2004 Statut Membre Dernière intervention 15 octobre 2009
2 oct. 2008 à 13:47
je suis desolé mais j'ai pas tout compris ... si tu pouvais me donner des exemple avec du code parce que je debute
merci pour ton aide !

<<------------QuE lA FETE CoMmEnCe------------>>
0
cs_dipin Messages postés 60 Date d'inscription dimanche 26 septembre 2004 Statut Membre Dernière intervention 15 octobre 2009
2 oct. 2008 à 15:51
j'ai du nouveau pour mon problème !! les images s'affichent juste si j'enlève le redimensionnement (setsize) et que je redimensionne a la main la fenêtre et pouf les images apparaissent toutes seule quelqu'un sait pourquoi ???

<<------------QuE lA FETE CoMmEnCe------------>>
0
Utilisateur anonyme
2 oct. 2008 à 16:23
Oui tu as dû oublier de surcharger la méthode public void update(Graphics g). Au pire, dans ta classe qui dérive JApplet, tu mets juste:

public void update(Graphics g){
       paint(g);
}

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
0
Rejoignez-nous