Construire une table
Modèle de table
Filtrer un modèle
Tables
« JTable affiche des données dans un tableau
« Table Model régit la gestion des données
« On peut fournir les données dans un tableau bidimensionnel d’objets :
Object et utiliser le Default Table Model, mais il vaut mieux étendre Abstract Table Model.
« La sélection est régi par une modèle de sélection
« De plus, il y a un modèle de colonnes.
« Un tableau est entouré d’ascenseurs, en général.
Construire une table
« Les constructeurs sont
JTable() modèles par défaut pour les trois modèles
JTable(int numRows, int numColumns) avec autant de cellules vides
JTable(Object[][] rowData, Object[] columnNames)avec les valeurs des cellules de rowDataet noms de colonnes columnNames.
JTable(TableModel dm)avec le modèle de données dm, les autres par défaut.
JTable(TableModel dm, TableColumnModel cm) avec modèle de données et modèle de colonnes fournis.
JTable(TableModel dm, TableColumnModel cm,
ListSelectionModel sm)Les trois modèles sont fournis.
JTable(Vector rowData, Vector columnNames) ici, les données sont fournies par colonne.
Exemple
class TablePlanetes extends JPanel { TablePlanetes() { setLayout(new BorderLayout()); JTabletable = newJTable(cellules,columnNames); add(new JScrollPane(table), BorderLayout.CENTER); } private Object[][]cellules={ { "Mercure", new Double(2440), new Integer(0), "non"}, { "Vénus", new Double(6052), new Integer(0), "non"}, { "Terre", new Double(6378), new Integer(1), "non"}, { "Mars", new Double(3397), new Integer(2), "non"}, { "Jupiter", new Double(71492), new Integer(16), "oui"}, { "Saturne", new Double(60268), new Integer(18), "oui"}, { "Uranus", new Double(25559), new Integer(17), "oui"}, { "Neptune", new Double(24766), new Integer(8), "oui"}, { "Pluton", new Double(1137), new Integer(1), "non"} }; private String[]columnNames= { "Planète", "Rayon", "Lunes", "Gazeuse"}; }
Modèles de table
« Les données sont accessible par un modèle. Ils peuvent être stockés ou calculés, de façon transparente.
« La classe Abstract Table Model implémente les méthodes d’un modèle de table, sauf qui retournent respectivement..
#le nombre de lignes
#le nombre de colonnes
#l’objet à afficher dans les ligne et colonne indiquées (sa méthode toString est utilisée).
public int getRowCount()
public int getColumnCount()
public Object getValueAt(int ligne, int colonne)
……
Création des tables (121 KO) (Cours PDF)