Insérer une image ou un icone dans JLabel

Dans ce tutoriel, nous allons créer un JLabel avec une ImageIcon. Les deux sont dans le package javax.swing. JLabel sert a afficher le texte et l'image ou les deux et vous pouvez spécifier la position du texte par rapport à l'image. Par défaut l'image et le texte sont alignés horizontalement. Vous pouvez même manipuler les pixels présents dans l'icone avec la méthode setIconTextGap().

ImageIcon crée l'image à partir de l'URL, nom de fichier ou un tableau de bites. Le cas le plus utilisé est celui du nom de fichier en indiquant le chemin. ImageIcon implémente deux interfaces:

1- Icon; affiche l'image spécialement utilisée avec la décoration.
2- Seriazable: sert à lire le flux de données à partir du chemin indiqué.

L'implémentation est facile, voici les étapes:
1- Créer le JFrame.
2- Créer le JLabel avec texte si vous en avez besoin.
3- Créer l'ImageIcon:
ImageIcon icone = new ImageIcon(imgUrl);
4- Associer l'image à JLabel.
jlabel.setIcon(icone);
Remarque: On peut laisser la création de JLabel à la fin parce qu'il a un constructeur:
JLabel("texte", icone, JLabel.CENTER);

Exemple


import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class AddImage {

public static void main(String[] args) {

//Création de JFrame
JFrame frame = new JFrame("JLabel Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(530,600);
frame.setLocationRelativeTo(null);
frame.setVisible(true);

//URL de l'image
String imgUrl="icon.png";
ImageIcon icone = new ImageIcon(imgUrl);

//Création de JLable avec un alignement gauche
JLabel jlabel = new JLabel(icone, JLabel.CENTER);

//ajouter les deux JLabel a JFrame
frame.getContentPane().add(jlabel);
frame.validate();
}
}

Après exécution:
Ajouter une image ou un icone à JLabel