[Java] Afficher une image dans une fenetre

Résolu
zzzer Messages postés 906 Date d'inscription   Statut Membre Dernière intervention   -  
zzzer Messages postés 906 Date d'inscription   Statut Membre Dernière intervention   -
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 !

A voir également:

1 réponse

NookZ Messages postés 2138 Date d'inscription   Statut Membre Dernière intervention   514
 
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
-1
zzzer Messages postés 906 Date d'inscription   Statut Membre Dernière intervention   181
 
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...

0
NookZ Messages postés 2138 Date d'inscription   Statut Membre Dernière intervention   514 > zzzer Messages postés 906 Date d'inscription   Statut Membre Dernière intervention  
 
Mets-la dans un JLabel. :
JLabel monLabel = new JLabel(icon);
0
zzzer Messages postés 906 Date d'inscription   Statut Membre Dernière intervention   181 > NookZ Messages postés 2138 Date d'inscription   Statut Membre Dernière intervention  
 
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 \.

0