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 :

JPanel comme noeud d'un JTree


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Avatar de osopardo
    Inscrit en
    Juillet 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juillet 2005
    Messages : 92
    Par défaut JPanel comme noeud d'un JTree
    Amis codeurs de l'extrême, Bonsoir !

    Torturant depuis quelque temps des Jtree j'ai noté que l'objet représentant les noeuds des JTree pouvait être tout objet dérivant de la classe java.awt.Component.

    En surchargeant la méthode getTreeCellRendererComponent de la classe DefaultTreeCellRenderer, ça fonctionne bien pour un Jlabel qui est renvoyé par défaut, ainsi que pour un Jbutton mais pour un JPanel je n'obtient qu'un carré gris...

    Mon bout code, fait rapidement sur un coup de folie plein d'espoir à la veille du w-e :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    	public Component getTreeCellRendererComponent( JTree tree, Object value, 
    	boolean selected, boolean expanded, boolean leaf, int row,
    	boolean hasFocus ){
     
    		JPanel jPanel = new JPanel();
    		jPanel.add( new JButton("bouton") );
    		jPanel.add( new JLabel("label") );
    		jPanel.setSize(100,100);
    		jPanel.setVisible(true);
     
    		return new JPanel();
    	}
    Quelqu'un à déjà testé ce genre de chose ?

  2. #2
    Membre émérite
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Par défaut
    mais une chose a pas faire c'est

    un new dans une methode getTreeCellRendererComponent ;-)

    mais alors 2 new c'est la folie :-))
    met un attribut dans ta classe et reuse le meme chaque fois :-) ou extends de JPanel et return this ;-)
    c'est alors normal que tu as un carrer gris si tu retourne un new JPanel :-)


    return new JPanel();

  3. #3
    Membre confirmé
    Avatar de osopardo
    Inscrit en
    Juillet 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juillet 2005
    Messages : 92
    Par défaut
    Oulà oui, effectivement c'est du n'importe quoi, pas bon d'essayer des trucs à l'arrache , honte sur moi...

    J'étais tellement persuader que ça ne pourrait pas fonctionner que je n'est pas du tout vérifier mon code (j'avais d'abord tester avec un Jpanel vide et oublier de modifier le return pour la version avec bouton), mais ça marche !

    Voilà encore de quoi s'amuser un peu !

    Et désolé pour ce post quelque peu inutile, quoi que ça montre toujours deux erreurs de débutant à ne pas faire.
    Les new dans le getTreeCellRendererComponent étant à éviter car cette méthode est appelée à chaque rafraichissement de l'affichage, que ce soit au déroulement des noeuds ou a tout autre événement ayant necessité l'actualisation de l'affichage.

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

Discussions similaires

  1. [JTree] icône d'un noeud d'un JTree
    Par Houssem dans le forum Composants
    Réponses: 5
    Dernier message: 10/05/2007, 16h37
  2. Comment inhiber un noeud d'un JTree?
    Par choko83 dans le forum Composants
    Réponses: 3
    Dernier message: 03/05/2007, 09h03
  3. Lien graphique entre les noeuds d'un JTree
    Par seiryujay dans le forum Composants
    Réponses: 4
    Dernier message: 28/03/2007, 17h43
  4. Ajouter ou supprimer noeud dans un JTree
    Par jdewalqu dans le forum Composants
    Réponses: 6
    Dernier message: 11/07/2006, 09h35
  5. Nom d'un noeud d'un JTree
    Par menuge dans le forum Composants
    Réponses: 2
    Dernier message: 26/04/2006, 15h19

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