package datagrid06;

import javax.swing.*;
import javax.swing.table.*;
import java.awt.event.*;
import java.awt.*;
 
/**
 * Ajout Simple et efficace
 * d'un JComboBox dans une
 * JTable
 *@Auteur sakoba
 ***/
 
public class code extends JFrame
{
 
    JTable table;
 
    // L'en-tête de Jtable
	String titre[]={"Langage","Type","Année"};
 
	// Les valeurs de Jtable
    Object [][]valeurs={{"C","Procédural"}
    ,{"C++","Procédural et Orienté Objet"}
    ,{"C#","Procédural et Orienté Objet"}
    ,{"Java","Orienté Objet"}
    ,{"Perl","Procédural et Orienté Objet"}
    ,{"PHP","Procédural et Orienté Objet"}
    ,{"Python","Procédural et Orienté Objet"}};
 
   DefaultTableModel tabModel;
 
	public code()
	{
		// Créer un composant JTable
		table=new JTable();
 
		// modifier le modèle du composant
		 table.setModel(new DefaultTableModel(valeurs, titre));
 
		 TableColumn colonneAnnee = table.getColumnModel().getColumn(2);
         JComboBox comboBox = new JComboBox();
         comboBox.addItem("1990");
         comboBox.addItem("1975");
         comboBox.addItem("2010");
         comboBox.addItem("1980");
 
         // Ajouter le JComboBox dans la troisième colonne
         colonneAnnee.setCellEditor(new DefaultCellEditor(comboBox));
 
		// Ajouter le composant dans un JScrollPane
        JScrollPane jsp = new JScrollPane(table);
        // Ajouter le JScrollPane dans le JFrame
        getContentPane( ).add(jsp, BorderLayout.CENTER);
 
	}
		public static void main(String [] arg)
	{
       code tab= new code();
       tab.setTitle("Ajout d'un JComboBox dans une JTable");
       tab.setSize(450,150);
       tab.setVisible(true);
 
	}
}
