Ajouter une image dans un JTable

Dans ce tutoriel nous allons découvrir comment afficher et insérer une image dans une cellule JTable. L’image est ajoutée dans JTable en utilisant la classe Imageicon.
 


 
 

Exemple:
import javax.swing.*;
import java.awt.*;
import javax.swing.table.DefaultTableModel;

public class Main extends JFrame 
{
	public Main() 
	{
		//Header de JTable 
		String[] columns = {"Id", "Nom", "Adresse", "Image"};

		//données pour JTable dans un tableau 2D
		Object[][] data = {
			{1, "Thomas", "Paris", new ImageIcon("user1.png") },
			{2, "Jean", "Marseille", new ImageIcon("user2.png") },
			{3, "Yohan", "Lyon", new ImageIcon("user3.png") },
			{4, "Emily", "Toulouse", new ImageIcon("user4.png") }
		};

		DefaultTableModel model = new DefaultTableModel(data, columns);
			
		JTable table = new JTable(model) {
			/*
			   getColumnClass : Renvoie la superclasse la plus spécifique 
			   pour toutes les valeurs de cellule d'une colonne. Ceci est 
			   utilisé par JTable pour configurer un moteur de 
			   rendu(renderer) par défaut pour une colonne.
			*/
			public Class getColumnClass(int column) {
				return (column == 3) ? Icon.class : Object.class;
			}
		};
		
		//Définir la hauteur des lignes dans JTable sur 60 pixels
		table.setRowHeight(60);

		JScrollPane scrollPane = new JScrollPane(table);
		getContentPane().add(scrollPane);
			
		JLabel labelHead = new JLabel("Liste des employes");
		labelHead.setFont(new Font("Arial",Font.TRUETYPE_FONT,20));
		getContentPane().add(labelHead,BorderLayout.PAGE_START);
	}

	public static void main(String[] args) 
	{
		Main frame = new Main();	
		frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
		frame.setSize(500, 330);
		frame.setVisible(true);
	}
}

Sortie:


 
Partagez cet article

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *