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 :

[JTreeTable] sans noeud racine


Sujet :

Composants Java

  1. #1
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Points : 722
    Points
    722
    Par défaut [JTreeTable] sans noeud racine
    Bonjour,

    J'aimerai pouvoir utiliser un JTreeTable qui n'a pas de racine, mais plutôt plusieurs dossier de même niveau, chacun d'eux ayant des fils, etc...

    En gros, l'idée c'est un peu ce que l'on retrouve dans Eclipse quand on fait une recherche avec le raccourci "Ctrl+H".

    Est-ce que quelqu'un aurait une idée de comment faire ça?

    Merci.

    PS : si vous savez le faire avec un JTree normal (plutôt qu'un JTreeTable), ca m'intéresse aussi...

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 390
    Points : 432
    Points
    432
    Par défaut
    Je ne connais pas les JTreeTable, mais pour les JTree, il y a la methode setRootVisible qui permet de cacher la racine. Il doit y avoir le meme genre de chose pour le JTreeTable

  3. #3
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Points : 722
    Points
    722
    Par défaut
    Ouais, j'ai vu ça, sauf que moi j'aimerai qu'il n'y en ai pas tout court...

    En fait, mon JTreeTable (ça doit être pareil avec un JTree, je présume) me permet d'afficher des objets d'une classe que j'ai créée (que j'appellerai Data). Un objet de cette classe peut contenir d'autres objets de la même classe (un peu comme pour les dossiers et les fichiers).

    Mais si je dois utiliser une racine, il faut que je crée un objet racine qui est purement fictif et qui ne sert qu'à stocker les vraies Datas. Et ça m'embête un peu de créer un objet qui ne sert qu'à àa : ça ne me paraît pas super propre...

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 390
    Points : 432
    Points
    432
    Par défaut
    Tu peux tres bien mettre un objet null dans la racine. Ca revient un peu a ne pas en avoir.
    Dans un Jtree tu peux meme mettre des objets qui n ont pas du tout le même type.
    Sinon tu vas être obligé de créer autant de JTree que tu as de niveau, et c'est encore moins propre.
    Je ne pense pas que se soit possible supprimer la racine.

  5. #5
    Membre expérimenté Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Points : 1 608
    Points
    1 608
    Par défaut
    Tu ne peux pas supprimer la racine d'un JTree, elle fait partie du modèle TreeModel que doit implémenter ton modèle de données. La méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public Object getRoot();
    ne peut renvoyer null QUE si l'arbre est vide

  6. #6
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Points : 722
    Points
    722
    Par défaut
    Ben c'est ce qu'on dirait...
    J'ai cherché un peu partout, et tout le monde parle de rendre la racine invisible, donc je vais faire ça...

    Par contre, je ne vois pas comment ce que tu veux dire par un "objet null"...
    Je suis obligé de créer un objet du même type que tout mes noeuds et qui contient la liste de ses fils, non? :

  7. #7
    Membre expérimenté Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Points : 1 608
    Points
    1 608
    Par défaut
    pas forcément, tout dépend de ton modèle de données.... Ta racine peut très bien être une String, pour peu que les méthode de TreeModel telles que getChild soient correctement impléméntées...

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 390
    Points : 432
    Points
    432
    Par défaut
    Dans ton TreeModel tu as des DefaultMutableTreeNode et dans ton DefaultUtableTreeNode tu as l'objet que tu veux stocker dans ton arbre et ca peut etre n'importe quoi même "null" .
    Et tu accede a l'objet avec la méthode getUserObject de DefaultMutableTreeNode. Ensuite y a plus qu à caster correctement.
    Donc dans le même arbre tu peux avoir des String, des choux, des patates, ...

  9. #9
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Points : 722
    Points
    722
    Par défaut
    Faut que je vois ça...
    Parce que moi j'utilise un JTreeTable qui redéfinit déjà certains modèles et qui n'utilise pas le DefaultMutableTreeNode.

    Donc je vais voir si je peux m'en servir...

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/02/2011, 14h01
  2. comment afficher le noeud racine de Tree view
    Par sky88 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 20/02/2010, 16h45
  3. Impossible de visualiser le noeud racine d'un TreeView
    Par drapa7 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 20/04/2009, 14h13
  4. JTree sans la racine de mon arbre
    Par mugwump dans le forum Composants
    Réponses: 2
    Dernier message: 24/08/2007, 10h07
  5. [XSLT] enfants du noeud racine
    Par CandS dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 24/08/2005, 09h45

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