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

Wicket Java Discussion :

Personnaliser les icônes d'un arbre LinkTree


Sujet :

Wicket Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 173
    Par défaut Personnaliser les icônes d'un arbre LinkTree
    Bonjour la liste,

    J'ai crée un arbre LinkTree dans mon application web. Seulement je veux personnaliser l'icône des noeuds et des feuilles. Je sais le faire avec un javax.swing.Tree mais je ne parviens pas encore à le faire avec un LinkTree.

    quelqu'un connait-il un lien qui pourrait m'aider?

    Merci d'avance pour votre aide.

  2. #2
    Membre émérite

    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    salut

    Alors, il faut que tu surcharges la méthode newNodeComponent de la classe LabelTree afin de lui donner une version surchargée de LabelIconPanel, histoire de lui passer le bon chemin.

    En termes de code, ça donne au niveau de l'arbre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    new LinkTree(..){
        @Override
        protected Component newNodeComponent(final String id, final IModel<Object> model)
        {
            return new MyLabelIconPanel(id, model, this)
            {
                private static final long serialVersionUID = 1L;
     
                @Override
                protected Component newContentComponent(final String componentId, final BaseTree tree,
                        final IModel<Object> model)
                {
                    return super.newContentComponent(componentId, tree, getNodeTextModel(model));
                }
     
            };
        }
    }
    puis pour MyLabelIconPanel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class MyLabelIconPanel extends LabelIconPanel
    {
     
        public MyLabelIconPanel(final String id, final IModel<Object> model, final BaseTree tree)
        {
            super(id, model, tree);
        }
     
        @Override
        protected ResourceReference getResourceFolderOpen(final Object node)
        {
            return new ResourceReference(MyLabelIconPanel.class, "folder-open.gif");
        }
    }
    et finalement dans source/main/resources/lepackageenquestion il faut mettre ton image retouchée, toujours appelée folder-open.gif dans mon cas.

    J'avoue que ce n'était pas trivial !

    ++

    NB : ma réponse est basée sur cette discussion :
    http://www.nabble.com/Custom-styles-...d14303205.html

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

Discussions similaires

  1. arbre LinkTree dont les noeuds sont des liens
    Par caro_caro dans le forum Wicket
    Réponses: 5
    Dernier message: 05/06/2009, 01h32
  2. Réponses: 6
    Dernier message: 04/11/2008, 09h39
  3. Personnaliser les images d'un arbre
    Par vva dans le forum WebDev
    Réponses: 1
    Dernier message: 12/06/2008, 21h34
  4. [FLASH MX2004] Personnaliser les scrollbars
    Par stephane eyskens dans le forum Flash
    Réponses: 10
    Dernier message: 09/10/2003, 12h53
  5. Extraire les icônes d'une DLL
    Par Globus dans le forum MFC
    Réponses: 6
    Dernier message: 13/09/2002, 13h44

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