[Java] Image dans JOptionPane

SAKDOSS -  
 SAKDOSS -
Bonjour,

J'utilise des JOptionPane pour afficher des aides dans une GUI. Je souhaiterais qu'une de ces aide affiche aussi des images (pour montrer l'utilisateur la correspondance entre des icones et leur effet dans l'interface).

J'ai vu qu'il était possible d'afficher une image dans un JOptionPane en faisant ça :
JOptionPane.showMessageDialog(this, new ImageIcon("./img/folder.png");


En revanche si j'ajoute du texte (avec un '+' ou en passant un vecteur en argument), j'obtiens à la place de l'image son chemin.

Existerait-il une méthode permettant d'afficher plusieurs images et du texte dans un JOptionPane ?

Merci d'avance !
A voir également:

3 réponses

tarek_dotzero Messages postés 834 Statut Membre 122
 
Pour image et texte au même temps, mais il y a deux points:

1. le + entre un type quelconque et String convertit automatiquement ce type en String, ce qui explique l'affichage du chemin de l'image.

2. Il y a un tutoriel très intéressant associé à la JDK, par exemple, sur machine:
C:\Program Files\Java\jdk1.6.0_01\demo\jfc\SwingSet2
Il contient des exemples détaillés et avec le source bien sûr.

Bon Courage.
1
Utilisateur anonyme
 
Salut,

Pour une seule image:

// le nom de l'image:
String nomImg = image.png; // par exemple
// Création de l'image icone:
String imgIco = createImageIcon(nomImg);
//citer imgIco dans le champ "icone"


Cordialement,

Dan
0
SAKDOSS
 
Merci pour vos réponses. La démo SwingSet2 contient bien un exemple qui permet de faire ce que je veux.

Au final il faut passer par une balise html img :
JOptionPane.showMessageDialog(frame, "<html>blabla <img src=\"file:img/monImage.png\"> blabla2</html>");


Pour utiliser un chemin absolu, il faut remplacer "file:" par "file:////".
0