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 :

[JTree] Plusieurs renderers dans une JTree?


Sujet :

Composants Java

  1. #1
    pom
    pom est déconnecté
    Membre habitué
    Inscrit en
    Février 2003
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 120
    Points : 128
    Points
    128
    Par défaut [JTree] Plusieurs renderers dans une JTree?
    Bonjour,

    J'ai un problème avec mon JTree: j'ai fait en sorte que mon renderer étende JCheckBox, de sorte que mes noeuds soient des checkbox. Jusque là tout va bien, sauf que je voudrais que seuls les dernières feuilles soient concernées, et pas les autres noeuds (autrement dit qu'ils n'apparaissent pas sous la forme de checkbox).

    Quelqu'un a une idée?
    Merci, d'avance,
    pom.

  2. #2
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 19
    Points : 19
    Points
    19
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public Component getTreeCellRendererComponent(JTree tree, Object value,
                    boolean sel, boolean expanded, boolean leaf, int row,
                    boolean hasFocus) {
        if (leaf) {
            // c'est une feuille
        } else {
            // c'est un noeud
        }
    }
    Dans ton DefaultTreeCellRenderer, tu teste si ton noeud est une feuille ou non, et tu agis en consequence.
    J'espère que c'est bien ce que tu demande.

  3. #3
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 83
    Points : 101
    Points
    101
    Par défaut
    Bonjour,

    Pour cela il ne faudrait pas je pense que ton renderer étende JCheckBox.
    et dans ton renderer faire un truc du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
      public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus)
    {
      if(monNode.isLeaf())
      {
        return new JCheckbox(..);
      }
      else
      {
        return new JLabel("un noeud");
      }
    }
    Sinon si tu as un p'tit bout de code à nous montrer sa pourrait être utile.

    A++

  4. #4
    pom
    pom est déconnecté
    Membre habitué
    Inscrit en
    Février 2003
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 120
    Points : 128
    Points
    128
    Par défaut
    psicot > Non, je pense pas que ça peut marcher, étant donné que le renderer lui-même étend JCheckbox.

    nico > En fait, je suis passé en mode super-véner et j'essaie de me dépatouiller avec une JTreeTable. J'essaierai ton truc si ça foire.

    Merci,
    pom.

Discussions similaires

  1. icon Personalisé dans une Jtree
    Par boumacmilan dans le forum Composants
    Réponses: 1
    Dernier message: 24/06/2010, 10h02
  2. Renderer dans les JTree
    Par motorenshi dans le forum Composants
    Réponses: 3
    Dernier message: 17/01/2007, 12h02
  3. JTree : copier, coller dans une feuille.
    Par sricard dans le forum Composants
    Réponses: 2
    Dernier message: 28/09/2006, 08h35
  4. Réponses: 8
    Dernier message: 17/03/2004, 15h40
  5. Réponses: 23
    Dernier message: 16/11/2002, 20h41

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