
{filelink=3494}
import javax.swing.*;
import javax.swing.table.*;
import java.awt.event.*;
import java.awt.*;
import java.awt.event.*;
public class JTableColumnSelect extends JFrame
{
JTable table;
// L'en-tête de Jtable
String titre[]={"Langage","Type"};
// 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 JTableColumnSelect()
{
// Créer un composant JTable
table=new JTableColonneSelection(valeurs, titre);
// 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)
{
JTableColumnSelect tab= new JTableColumnSelect();
tab.setSize(450,150);
tab.setVisible(true);
}
}
class JTableColonneSelection extends JTable {
public JTableColonneSelection (Object[][] items, Object[] headers) {
super (items, headers);
setColumnSelectionAllowed (true);
setRowSelectionAllowed (false);
final JTableHeader header = getTableHeader();
header.addMouseListener (new MouseAdapter() {
public void mouseReleased (MouseEvent e) {
if (! e.isShiftDown())
clearSelection();
int pick = header.columnAtPoint(e.getPoint());
addColumnSelectionInterval (pick, pick);
}
});
}
}