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

AWT/Swing Java Discussion :

Images qui n'apparaissent pas


Sujet :

AWT/Swing Java

  1. #1
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 125
    Points : 56
    Points
    56
    Par défaut Images qui n'apparaissent pas
    Bonjour,

    Je souhaite afficher des images dans un jDialog. Pour cela, j'ai créé un jPanel dans le jDialog. Dans ce jPanel, j'ai créé un jXImagePanel. Voici le code utilisé :

    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
     
     
    public class ImportationEtapes extends javax.swing.JDialog 
    {
     
        public ImportationEtapes(String[] parametresBaseEvt)
        {
            initComponents();
            String sImage = "C:\\mon_image.jpg";
            Image imEtap = getToolkit().getImage(sEtape);
            jXImagePanel_Etape.setImage(imEtape);
            jPanel.repaint();
            this.repaint();
        }
    }
    Mon problème vient du fait que les images n'apparaissent pas malgré le repaint() du jPanel ou du jDialog.

    A noter que si je redimensionne le jDialog ou si je fais un ALT tab pour changer de fenetre puis ALT Tab pour y revenir, les images apparaissent... Si je fais un pack(); au lieu du "this.repaint()" cela fonctionne aussi, mais le jDialog en est redimensionné ce qui ne me convient pas.

    D'avance merci.

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Utilises ImageIO.read(...) qui charge de façon synchrone l'image à la place de getToolkit.getImage(..) qui charge l'image de façon asynchrone..

  3. #3
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 125
    Points : 56
    Points
    56
    Par défaut
    Merci pour la modif a faire, ca marche impeccable !

    Voici la méthode complète à suivre (pour info):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    File fImage = null;
    Image imEtape = null;
    try 
    {
        fImage = new File(System.getProperty("user.dir")+"\\Icones\\Etape1.jpg");
        imEtape = ImageIO.read(fImage);    
    } 
    catch (IOException e) 
    {        }
     
    jXImagePanel_Etape.setImage(imEtape);
    jPanel2.repaint();

  4. #4
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Pour être plus portable tu devrais plutôt faire:

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    File fImage = null;
    Image imEtape = null;
    try 
    {
        fImage = new File(System.getProperty("user.dir")+"/Icones/Etape1.jpg");
        imEtape = ImageIO.read(fImage);    
    } 
    catch (IOException e) 
    {        }
            
    jXImagePanel_Etape.setImage(imEtape);
    jPanel2.repaint();

    Celà marchera identiquement sur tous les OS alors que le \\ ne marchera que sur Windows

  5. #5
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 125
    Points : 56
    Points
    56
    Par défaut
    Bien vu, je ne le savais pas et vais corriger de suite l'ensemble des "\\" pour les remplacer par des "/" !

    Merci sinok de ta remarque.

  6. #6
    Membre éclairé
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Points : 756
    Points
    756
    Par défaut
    Salut,

    sinon pour gérer les problèmes de path suivant l'OS, tu as aussi une réponse dans la FAQ ICI de façon à rendre ton code le plus portable possible

  7. #7
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Pas besoin de ça, le / est portable sur tous les systèmes.

    Ce qui est donné dans la FAQ n'est utile que pour l'affichage si besoin est

  8. #8
    Membre éclairé
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Points : 756
    Points
    756
    Par défaut
    Autant pour moi merci pour les précisions sinok

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

Discussions similaires

  1. [AC-2007] image dans formulaire qui n'apparaissent pas !
    Par pascalito dans le forum VBA Access
    Réponses: 11
    Dernier message: 22/10/2009, 16h15
  2. Images eps qui n'apparaissent pas dans le PDF
    Par Isythiel dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 3
    Dernier message: 19/06/2009, 15h13
  3. Images qui n'apparaissent pas
    Par portu dans le forum Word
    Réponses: 5
    Dernier message: 11/04/2007, 19h15
  4. lien dessus une images qui n'est pas en background
    Par tiyolx dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 04/03/2006, 18h40
  5. mes images .jpg n'apparaissent pas
    Par zorba49 dans le forum ASP
    Réponses: 2
    Dernier message: 20/09/2005, 12h25

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