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 :

Contrôler l'affichage du collapsed icon dans un JTree ?


Sujet :

Composants Java

  1. #1
    Membre émérite
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Par défaut Contrôler l'affichage du collapsed icon dans un JTree ?
    Bonjour,

    Je cherche a controler l'affichage de l'icon "collapsed icon" dans mon jtree.
    En faite j'ai un jtree dynamique dont le contenu est récupéré à partir d'une requete SQL : au debut j'ai une liste parent, puis quand je clique sur un parent il va me chercher la liste des fils, etc ...

    Pour une meilleure ergonomie, je voudrais afficher le "collapsed icon" tout le temps sauf pour une feuille. dans mon c'est plutot simple car cela va dépendre de la nature de l'instance stocké dans l'arbre.
    Par contre je n'ai pas trouvé ou je devais redéfinir la méthode pour ce genre de comportement (rien trouvé dans le treecellrenderer).

    Merci d'avance
    Nico

  2. #2
    Membre chevronné Avatar de spekal
    Inscrit en
    Mai 2005
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 502
    Par défaut
    Je ne comprends pas pourquoi tu nous parles de l'icone ; pour construire les feuilles et racines au fur et à mesure des appels à la base, il faut intervenir au niveau du TreeModel.

    Ai-je bien mal compris ta question, ou est-ce que j'y ai mal bien répondu ?

  3. #3
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 901
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 901
    Billets dans le blog
    54
    Par défaut
    Independament du fait qu'un noeud soit un feuille ou pas tu peux controller son apparence (et donc l'icone de sa representation) via un TreeCellRenderer (voir DefaultTreeCellRenderer). Sinon les icones par defaut dependent du LnF actuellement utilise.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  4. #4
    Membre émérite
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Par défaut
    spekal > oui tu as mal compris , la construction de l'arbre ne pose pas de problème, c'est l'icone affiché dans la structure hiérarchique de l'arbre que je veux controler.

    bouye > la classe TreeCellRenderer permet de controler l'icone de l'objet contenu dans le treenode, c'est a dire si c'est un parent ouvert, fermé ou une feuille. Par contre, elle ne permet pas d'intéragir avec les icons représentant la structure hiérarchique de l'arbre.

    La méthode setCollapsedIcon se situe dans dans la classe BasicTreeUI, ainsi que setExpandedIcon.
    J'aimerais maintenant redefinir qqs chose pour controler l'affichage de ces icons, savoir si je doit les afficher ou non suivant mes propres règles.

    Je ne suis pas un pro du backend de swing, je continu a chercher, et si qqn a une idée, je la prend volontier

    EDIT :

    En fouinant un peu plus dans la classe BasicTreeUI, je trouve la fonction qui dessine l'icon de la structure de l'arbre avec entre autre dans ses parametres un boolean isLeaf.
    Tellement simple que je n'y avais pas pensé, il suffisait de redéfinir la fonction isLeaf() pour lui implanter mes regles de gestion. Dans mes données un noeud a beau être une feuille, je contraint ma fonctionisLeaf a faire croire qu'il n'en est pas un (suivant le type de données stockées)
    Et sa fonctionne nikel

  5. #5
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 901
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 901
    Billets dans le blog
    54
    Par défaut
    Citation Envoyé par N©O
    bouye > la classe TreeCellRenderer permet de controler l'icone de l'objet contenu dans le treenode, c'est a dire si c'est un parent ouvert, fermé ou une feuille. Par contre, elle ne permet pas d'intéragir avec les icons représentant la structure hiérarchique de l'arbre.

    La méthode setCollapsedIcon se situe dans dans la classe BasicTreeUI, ainsi que setExpandedIcon.
    J'aimerais maintenant redefinir qqs chose pour controler l'affichage de ces icons, savoir si je doit les afficher ou non suivant mes propres règles.
    Tu peux completement court-circuiter tout ce mecanisme et fournir tes propres icones (y compris reutiliser le code les dessinant que tu viens de recuperer via les sources) quand tu veux et comme tu veux sans tenir compte aucunement de ces methodes.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/06/2013, 07h17
  2. affichage de l'icone dans le systray Mac Os
    Par FabienManach dans le forum wxWidgets
    Réponses: 0
    Dernier message: 21/05/2008, 15h11
  3. Affichage d'un icone dans le systray
    Par imparator_42 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 21/02/2008, 18h50
  4. Probleme d'affichage d"Icone dans FatJar
    Par Katachana dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 18/07/2007, 09h33
  5. prob d'affichage d'une Icone dans un JButton
    Par Zoroastre dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 14/01/2006, 13h57

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