[Java] Afficher une image dans une fenetre [Résolu/Fermé]

Signaler
Messages postés
892
Date d'inscription
dimanche 25 mai 2008
Statut
Membre
Dernière intervention
30 juillet 2018
-
Messages postés
892
Date d'inscription
dimanche 25 mai 2008
Statut
Membre
Dernière intervention
30 juillet 2018
-
Bonjour,

J'utilise Swing pour creer des fenetres en Java, et j'aimerais afficher une image dans l'une d'entre elles...
J'ai donc cherche sur le net, essaye des bouts de codes trouves a droite a gauche, mais pas moyen d'afficher une image, y'a toujours un souci...

Quelqu'un pourrait me donner un lien ou un bout de code basique qui pourrait m'aider ?

Merci d'avance !

1 réponse

Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
489
Bonjour,

Je peux juste vous donner la méthode générale :
1/ Créer une ImageIcon avec le chemin de votre image
2/ Créer un JPanel
3/ Mettre l'image dans le JPanel
4/ Mettre le JPanel dans la JFrame
Messages postés
892
Date d'inscription
dimanche 25 mai 2008
Statut
Membre
Dernière intervention
30 juillet 2018
176
Ok, mais comment mettre l'image dans le JPanel ?
Car la fonction add de la classe JPannel prend un Component en parametre, or, une ImageIcon n'est pas un Component... Et impossible de le caster en tant que tel...

Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
489 >
Messages postés
892
Date d'inscription
dimanche 25 mai 2008
Statut
Membre
Dernière intervention
30 juillet 2018

Mets-la dans un JLabel. :
JLabel monLabel = new JLabel(icon);
Messages postés
892
Date d'inscription
dimanche 25 mai 2008
Statut
Membre
Dernière intervention
30 juillet 2018
176 >
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013

Woo !
Ca marche nickel, c'est exactement ce que je voulais !
Merci beaucoup !

Pour ceux que ça intéresserait à l'avenir, voici le code complet :
JFrame f = new JFrame("Titre");
f.setSize(400,250);
ImageIcon ii = new ImageIcon("elisha_cuthbert.jpg");
JLabel lab = new JLabel(ii);
f.add(lab);
f.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
f.setVisible(true);

A noter que dans mon cas, l'image se trouve directement dans le dossier du projet, d'où l'absence de chemin absolu. Mais j'aurais également pu en utiliser un, en mettant par exemple new ImageIcon("C:\\Flo\\Photos\\elisha_cuthbert.jpg"); ... Attention en effet à bien mettre \\ et non pas / ni \.