Les modèles :
- interface TableModel, qui définit
getColumnName
,getColumnCount
,getValueAt
- DefaultTableModel
Trier les lignes :
- Utiliser un SortFilterModel, qui fait l’intermédiaire avec le TableModel
Afficher des données selon le type rattaché à la colonne (getColumnClass) :
- ImageIcon créera un JLabel avec le rendu graphique
- Boolean créera une case à cocher
- Object affichera le toString correspondant dans un JLabel
Pour créer des aperçu personnalisés, il faut créer son TableCellEditor. Les modifications apportées aux cellules sont reportées via la méthodesetValueAt
. On définit un éditeur de la manière suivante :getColumnModel().getcolumn(i).setCellEditor();
. L’installation d’un TableCellEditor revient à :
- Installer un Editeur : isCellEditable doit renvyer true.
- shouldSelectCell : On appelle ici l’affichage de la fenêtre d’édition.
- gestion des interruptions et/ou annulations : cancelCellEditing, stopCellEditing
Gestion de la taille des colonnes :
- setPreferredWidth, setMinimumwidth, setMaximumWidth
- setResizable, setWidth
- setAutoResizeMode (int Mode)
Gestion de la sélection des valeurs :
- setRowSelectionAllowed : gère la séleciton des lignes
- getSelectionModel().setSelectionMode(mode)
- setColumnSelectionAllowed : gère la sélection des colonnes
- getSelectedRows, getSelectedcolumns
- setCellSelectionEnabled —> Annule la sélection de slignes et des colonnes, sélection par cellules.
gestion de l’affichage des colonnes :
- getColumnModel().getColumn(i)…
- table.removeColumn(i) : cache une colonne.
- table.addColumn(i) : fait réapparaitre une colonne présente dans le modèle.
- table.modeColumn : gestion de l’ordre des colonnes
Affichage des lignes :
- addRow, insertRow, removeRow