Jtable java
© Philippe GENOUD
UJF
Mars 2003
1
JDBC
JTable JTable
JTable un composant Swing complexe pour présenter et éditer des données sous forme de table.
Object[][] data = { {"Mary", "Campione", "Snowboarding", new Integer(5), new Boolean(false)}, {"Alison", "Huml", "Rowing", new Integer(3), new Boolean(true)}, {"Kathy", "Walrath", "Chasing toddlers", new Integer(2), new Boolean(false)}, {"Mark", "Andrews", "Speed reading", new Integer(20), new Boolean(true)}, {"Angela", "Lih", "Teaching high school", new Integer(4), new Boolean(false)} }; String[] columnNames = { "First Name", "Last Name", "Sport", "# of Years", "Vegetarian"}; JTable table = new JTable(data, columnNames);
© Philippe GENOUD
UJF
Mars 2003
2
1
JDBC
JTable(Vector rowData, Vector columnNames) Simplicité Mais
JTable JTable
Deux constructeurs qui acceptent directement des données: JTable(Object[][] rowData, Object[] columnNames)
chaque cellule est éditable traite toutes les données de manière identique (affichage sous forme de String quel que soit le type de la donnée)
Si les données ne sont pas déjà sous la forme d’un tableau (ou d ’un Vector) nécessité de les transposer dans une telle structure
© Philippe GENOUD
UJF
Mars 2003
3
JDBC
JTable JTable
Si les données ne sont pas déjà sous une forme « tabulaire » et/ou si on ne veut pas avoir les restrictions précédentes il faut fournir un objet TableModel au composant JTable qui permet à l’objet JTable de découvrir la valeur de chaque cellule : JTable(TableModel data) public void setModel(TableModel data) JTable ne contient pas les données mais c’est une vue sur les données « JTable doesn't contain or cache data; it's simply a view of your data. »
JTableModel
Le fameux modèle* MVC (Model View Controler) issu de SmallTalk
* design pattern
Modèle
JTable Vue Contrôleur
© Philippe GENOUD
UJF
Mars 2003
4
2
JDBC
JTableModel
JTable JTable
interface