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: