IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

Explication sur construction de JTreeTable


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 209
    Par défaut Explication sur construction de JTreeTable
    Bonjour
    J'étudie actuellement le programme de sun
    ( http://java.sun.com/products/jfc/tsc...le1/index.html )
    et je ne comprend pas la chose suivante :
    dans le programme TreeTableExample0.java on a l'instruction suivante

    JTreeTable treeTable = new JTreeTable(new FileSystemModel());

    on appelle le constructeur de la classe JTreeTable auquel on passe en paramètre une instance de la classe FileSystemModel
    Hors dans la classe JTreeTable le constructeur est déclaré comme suit :

    public JTreeTable(TreeTableModel treeTableModel)

    avec comme paramètre un objet de type TreeTableModel
    On a la définition de la classe FileSystemModel

    public class FileSystemModel extends AbstractTreeTableModel implements TreeTableModel

    Peut-on faire référence a un objet FileSystemModel uniquement par le nom de l'interface que cette classe implémente ? et dans ce cas est ce que toutes les méthodes et attributs de la classe FileSystemModel sont visibles dans le constructeur de la classe JTreeTable

    je ne comprend pas cette façon de faire
    Pouvez vous m'expliquer le pourquoi de la chose et l'intêret de faire de la sorte .
    Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 136
    Par défaut
    Bonjour,

    vu ta question, je suppose que tu t'interesses au java depuis très peu de temps car la quetion que tu poses porte sur un des gros concepts du java (à mon avis du moins).

    Si tu es débutant, je te conseillerais de débuter par des choses un peu plus simple que les JTree qui utilise le concept MVC (Modele Vue Controlleur).
    Il existe plein de choses beaucoup plus imple en swing .

    Tu devrais t'orienter vers des tutorials, par exemple ceux de développez.com qui sont très interessant.
    Tu retrouveras les concepts d'héritages et d'interface qui répondront à ta question.

    Cdlt

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 209
    Par défaut
    En réponse a Mr piou1234
    J'ai déja étudié l'ensemble des composants Swing votre réponse est pertinente mais ne répond pas a la question

    Qu'elle intêret il y a de déclarer le paramètre du constructeur de type TreeTableModel et pas de FileStstemModel ?

    Merci de m'éclairer sur e point de détail

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par luchet Voir le message
    Qu'elle intêret il y a de déclarer le paramètre du constructeur de type TreeTableModel et pas de FileStstemModel ?

    Merci de m'éclairer sur e point de détail
    C'est le principe à la base de la POO !

    Le JTreeTable n'est pas fait pour être seulement utilisé avec un FileSystemModel.
    Le TreeTableModel déclare en fait les méthodes utile pour représenter un arbre, et il communiquera avec le JTreeTable pour que ce dernier affiche l'arborescence.

    C'est le principe de l'abstraction : on utilise un objet sans connaître son type concret (FileSystemModel), mais en utilisant un classe ou interface de base (TreeTableModel) qui définit les méthodes dont on a besoin.

    Ainsi dans ce cas précis on peut créer plusieurs classe qui implémente TreeTableModel et les utiliser avec JTreeTable sans avoir à le recoder.


    Si le constructeur de JTreeTable utilsiait un FileSystemModel, tu serait limité à ce dernier, alors que là tu es libre d'utiliser le modèle de ton choix...


    a++

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 209
    Par défaut
    Merci pour cette réponse je suis mainteant un peut plus avancé dans mon étude

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Multimédia] Explication sur stream audio
    Par champion dans le forum Développement
    Réponses: 1
    Dernier message: 20/01/2005, 12h14
  2. Besoin d'explications sur float et l'élasticité !
    Par KneXtasY dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 14/01/2005, 15h15
  3. s.v.p :explication sur le ".h" et dll de l'opengl
    Par Asmod_D dans le forum OpenGL
    Réponses: 1
    Dernier message: 22/11/2004, 10h32
  4. Réponses: 28
    Dernier message: 18/08/2003, 11h54
  5. recherches des cours ou des explications sur les algorithmes
    Par Marcus2211 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 19/05/2002, 22h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo