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); |
jlabel.setIcon(icone); |
JLabel("texte", icone, JLabel.CENTER); |
Exemple
import javax.swing.ImageIcon;Après exécution:
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();
}
}