© Sofia ZAIDENBERGCNRS Mai 2007 1 JTable. © Sofia ZAIDENBERG CNRS Mai 2007 2 JDBC JTable l JTable un composant Swing complexe pour présenter et éditer.

Slides:



Advertisements
Présentations similaires
La programmation orientée objet avec Java L3-MIAGE Plan
Advertisements

1 Quelques précisions sur l'héritage. 2 Signification de super.f() appel à la méthode f() masquée super : désigne l'objet appelant comme s'il était de.
Au programme du jour …. Un peu plus de structures de données
Tables Construire une table Modèle de table Filtrer un modèle 1.
Approfondissement du langage
(Classes prédéfinies – API Java)
Plan du cours La sérialisation: – comment stocker et restaurer les Objets? Les interfaces graphiques et la programmation évènementielle. –Comment concevoir.
1 Tableaux des objets C++ si on connaît le nombre dobjets nécessaires davance on peut utiliser des tableau dobjets dans les fonctions dusage class Personne.
Introduction aux IHM et à la réflexivité Java Vos premiers pas en Swing.
JAV - TD 6 Structures de données JAVA
Design Pattern MVC En PHP5.
Classes locales classes définies à l'intérieur d'un bloc de code,
IPA – Catherine Faron Zucke et Anne Marie Deryr. suite ordonnée d'éléments de taille variable ArrayList liste; liste = new ArrayList (); Ne peuvent contenir.
Programmation orientée objet
JavaBeans Réalise par: EL KHADRAOUY TARIK AOUTIL SAFOWAN.
Bibliothèque standard du C++
POO-L3 H. Fauconnier1 Tableau et héritage Y[] yA=new Y[3]; X[] xA=yA; //ok xA[0]=new Y(); xA[1]=new X(); //non xA[1]=new Z(); //non Object XX[]int[] YZY[]Z[]
Chap 4 Les bases de données et le modèle relationnel
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
Historique de SystemC Regroupe 4 courants didées: SCENIC Project : Synopsys+UC Irvine Philips System-Level Data Types, VSIA SLD DWG IMEC, Hardware-Software.
77 Utilisation des classes (suite). 7-2 Objectifs A la fin de ce cours, vous serez capables de : Définir des méthodes surchargées dans une classe Fournir.
1 Cours JAVA (I21) -Licence 1 Semestre 2 / Y.Laborde COURS 3 : Programmation impérative Résumé du cours précédent.
Classes abstraites et Interfaces
Factory Design Patterns Factory Method
Mapping Objet-Relationnel
1 Objectifs de ce cours (I21) Cours JAVA (I21) -Licence 1 Semestre 2 / Y.Laborde Résumé du cours précédent.
Structures de données IFT-2000
Programme de baccalauréat en informatique Programmation Orientée Objets IFT Thierry EUDE Module 7 : Classes et fonctions paramétrables Département.
66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.
Une nouvelle structure de données : les tableaux
Rappels Java.
Design Pattern: Decorator
1 Les paquetages («packages»). 2 L'objectif avec les paquetages («packages») est de rendre accessibles aux utilisateurs des classes définies par d'autres.
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
COURS DE PROGRAMMATION ORIENTEE OBJET :
COURS DE PROGRAMMATION ORIENTEE OBJET :
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) Plate-forme.NET.
CSI1502 Principes fondamentaux en conception des logiciels
Patrons de conceptions de créations
LIFI-Java 2004 Séance du Mercredi 22 sept. Cours 3.
Factory Design Patterns. Contents Factory patterns: principesFactory patterns: principes The Factory Method patternThe Factory Method pattern The Abstract.
Cours 9 Exceptions (fin) Généricité. POO-L3 H. Fauconnier2 Chaînage d'exceptions  Une exception peut être causée par une autre.  il peut être utile.
Programmation objet La base.
Designs Patterns comment rendre son code faiblement couplé, et maintenable...
12/04/ Le polymorphisme Cours 8 Cours 8.
Tutorat en bio-informatique
5ième Classe (Mercredi, 19 octobre) Prog CSI2572.
Constructeurs H Batatia. Variable statique Une variable statique est partagée par tous les objets d’une classe.
Réaliser par: Sadok Amel Cheboui hassiba
Un peu de Design Pattern Quelques modèles pour développer vite et bien.
Les classes et les objets Les données finales class A { … private final int n = 20 ; // la valeur de n est définie dans sa déclaration … } class A { public.
Cours LCS N°4 Présenté par Mr: LALLALI
Le polymorphisme.
Master 1 SIGLIS Intégration des données dans l’entreprise Stéphane Tallard JDBC: Java Database Connectivity Master 1 SIGLIS1JDBC.
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
Introduction à la programmation objet avec java
Héritage Conception par Objet et programmation Java
Iup MIAGe 3° année Projet MIAGe Toulouse – Groupe 21 Charte graphique.
 1) Il faut connaître le modèle et son fonctionnement  2) Définir le contrôle que l’on veut faire ouvrir, fermer, afficher, etc.) sur le modèle  3)
Chapitre 2 Rappels objet et Présentation des diagrammes UML
Chapitre 2 Rappels objet et Présentation des diagrammes UML
IUT du limousin L.U.P Michel Vergnaud Programmation Objet - Java.
Classes abstraites, interface Classe interne Classes enveloppes
Philippe Gandy - 22 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Premières notions de la 3D
Traitement d’images Semaine 09 v.A15.
LES CLASSES ET LES OBJETS
Introduction à l'orienté objet. Définition Le terme orienté objet siginifie que l'on organise le logiciel comme une collection d'objets organisée en graphe.
Transcription de la présentation:

© Sofia ZAIDENBERGCNRS Mai JTable

© Sofia ZAIDENBERG CNRS Mai JDBC JTable l 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);

© Sofia ZAIDENBERG CNRS Mai JDBC JTable Deux constructeurs qui acceptent directement des données : l JTable(Object[][] rowData, Object[] columnNames) l JTable(Vector rowData, Vector columnNames) l Simplicité l Mais l 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

© Sofia ZAIDENBERG CNRS Mai JDBC JTableModel 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 : l JTable(TableModel data) l 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. » Modèle Vue Contrôleur Le fameux modèle* MVC (Model View Controler) issu de SmallTalk * design pattern

© Sofia ZAIDENBERG CNRS Mai JDBC JTable l JTableModel l interface définie dans le package javax.swing.table intermédiaire entre le composant JTable et les données qu’il affiche tout composant JTable utilise un objet qui implémente JTableModel pour encapsuler les données qu’il visualise. Class getColumnClass(int columnIndex) int getColumnCount() String getColumnName(int columnIndex) int getRowCount() Object getValueAt(int rowIndex, int columnIndex) void addTableModelListener(TableModelListener l) void removeTableModelListener(TableModelListener l) boolean isCellEditable(int rowIndex, int columnIndex) void setValueAt(Object aValue, int rowIndex, int columnIndex) JTableModel JTable Vue Contrôleur Modèle

© Sofia ZAIDENBERG CNRS Mai JDBC JTable JTableModel DefaultTableModel AbstractTableModel Implémentation partielle de JTableModel, seules demeurent abstraites : int getColumnCount() int getRowCount() Object getValueAt(int rowIndex, int columnIndex) Pour une application nécessitant un table non éditable il suffit de donner une implémentation à ces méthodes Implémentation « simple » de JTableModel lorsque les données sont exprimées sous la forme de tableaux (ou vecteurs) de lignes, chaque ligne étant elle même un tableau (ou un vecteur) d’objets. Les constructeurs JTable(Object[][] rowData, Object[] columnNames) et JTable(Vector rowData, Vector columnNames) initialisent et utilisent un objet DefaultTableModel