IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

2D Java Discussion :

Java+Image


Sujet :

2D Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 8
    Points
    8
    Par défaut Java+Image
    Bonjour à tous,

    j'ai un pti souci pour afficher des images dans un Canvas.

    Je travaille avec JBuilder et je ne comprends pas car même les codes que je retrouve sur le net ne fonctionne pas.

    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    class monCanvas extends Canvas{
     
    //attributs de ma classe
    Image i; 
     
    //constructeur de ma classe
    i= Toolkit.getDefaultToolkit().getImage("r1.gif");
     
    //dans mon paint
    g2D.drawImage(i, 20,20, this);
    donc rien de plus basique

    Comprends pas ca ne marche qd même pas

    merci de votre aide

  2. #2
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Qu'est-ce qui ne marche pas ? quel est ton message d'erreur exactement ? Ca plante à la compilation ou à l'exécution ?...

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    c'est vrai que je n'ai pas été trés précis

    En fait je n'ai aucun message d'erreur mais j'ai une fenetre qui s'ouvre sans qu'aucune image ne soit affichée dedans

    Pourtant je récupère des codes sur le web et même ces codes la ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    import javax.swing.*;
    import java.awt.*;
     
    class Affiche extends JPanel
    {
      Image fond, monde;
     
      Affiche(String s)
        {
          fond = getToolkit().getImage(s);
          monde = getToolkit().getImage("perso.gif");
          setPreferredSize(new Dimension(300, 200));
        }
     
      public void paintComponent(Graphics g)
      {
        super.paintComponent(g);
        g.drawImage(fond, 0, 0, getWidth(), getHeight(), this);
        g.drawImage(monde, 30, 30, this);
      }
    }
     
    class MonImage extends JFrame
    {
      MonImage(String s)
      {
        setContentPane(new Affiche(s));
      }
     
      public static void main(String[] args)
      {
        MonImage monCadre = new MonImage("fond.gif");
        monCadre.pack();
        monCadre.setVisible(true);
      }
    }

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    C'est tout simplement que tes images ne sont pas trouvé par le Toolkit, et qu'il te renvoit une image "vide" dans ce cas...

    Vérifie bien tes chemins...

    a++

  5. #5
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Citation Envoyé par adiGuba
    Salut,


    C'est tout simplement que tes images ne sont pas trouvé par le Toolkit, et qu'il te renvoit une image "vide" dans ce cas...

    Vérifie bien tes chemins...

    a++
    Si c'était le cas, ne se prendrait-il pas un NullPointerException dans la tronche ?

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    c'est bien ce que je pensais donc ce que j'ai tenté c'est de faire un System.out.println(image);

    et ce code me donne une adresse mémoire donc pas de pointeur null en théorie

    sinon pour vérifier j'ai mis les images au même niveau que mes sources donc je ne vois pas comment elles pourraient ne pas être trouvées

    Y a t'il une subtilité?

  7. #7
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par iohack
    Si c'était le cas, ne se prendrait-il pas un NullPointerException dans la tronche ?
    Je n'ai pas dit null mais vide : c'est la même différence qu'entre null et "" pour les String

    L'image renvoyé par le Toolkit n'est pas chargé immédiatement, en particulier afin d'accélérer l'affichage des Applets (les boutons sont d'abord affiché sans images, puis redessiné avec l'image une fois qu'elle est complètement chargé, c'est pour cela que les composants graphiques implémentent l'interface ImageObserver).

    Citation Envoyé par matou72
    sinon pour vérifier j'ai mis les images au même niveau que mes sources donc je ne vois pas comment elles pourraient ne pas être trouvées
    Quel est ton arborescence exactement ?

    Sinon utilise la version avec une URL, ce qui te permettra de vérifier l'existence du fichier, voir ImageIO.read() qui lui te renvoit une BufferedImage complète, et te renvoit une exception en cas d'erreur...

    a++

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    pour l'arborescence c'est du style

    Repertoire de mon projet

    ->src (contenant mes *.java)-> repertoire de mon package ->mes *.java et mes images
    ->class (contenant mes *.class)

  9. #9
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    getImage() recherchera un fichier, c'est à dire une image dans le répertoire de travail de ton application (le répertoire depuis lequel tu la lances), donc c'est normal qu'il ne les trouve pas.

    Si tu utilises un EDI il devrait te recopier les images avec les classes. Si c'est le cas elle sont dans ton classpath et tu peux donc utiliser getResource() pour y accéder :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getToolkit().getImage( getClass().getResource("perso.gif") );
    a++

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    ok ca marche

    merci bcp

    qd je penses que ca fait 3 jours que je suis en train de chercher pour ce pb et qu'avec ton aide je l'ai résolu en 30 min

    encore merci

  11. #11
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    De rien

    Penses au bouton

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    c'est fait

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. impression d'un document en java, image qui ne s'affiche pas
    Par allezlolo dans le forum Documents
    Réponses: 3
    Dernier message: 01/07/2010, 12h25
  2. [Java] images s'affichant l'une en dessus de l'autre
    Par vladimire dans le forum GTK+
    Réponses: 2
    Dernier message: 25/06/2009, 00h59
  3. Bibliothèque Java: Image/RGB
    Par L1011 dans le forum 2D
    Réponses: 3
    Dernier message: 22/01/2009, 23h26
  4. java : image sur tableau?
    Par benderSobre dans le forum Développement 2D, 3D et Jeux
    Réponses: 8
    Dernier message: 13/06/2008, 14h56
  5. java Image et package
    Par haco28 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 16/11/2007, 23h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo