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 :

Comment changer l'icone d'un noeud spécifique?


Sujet :

Composants Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    etudiant
    Inscrit en
    Février 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : etudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2012
    Messages : 11
    Points : 13
    Points
    13
    Par défaut Comment changer l'icone d'un noeud spécifique?
    Bonjour,

    J'au créer un tree avec SWING mais je doid maintenant changer l'icone de certains noeuds selon l'étape de mon application.
    J'ai pu changer tout les icones avec DefaultTreeCellRenderer mais moi je veux que certains et non plus le selectionné.

    merci bien

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 46
    Points : 41
    Points
    41
    Par défaut
    Il te suffit de modifier ta fonction getTreeCellRendererComponent, grâce à des conditions,
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    private class RendererTree extends DefaultTreeCellRenderer {
     
    		public Component getTreeCellRendererComponent(JTree tree, Object value,	boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus)
    		{
     
    			super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
    			//tu pourras modifier des caractéristiques globales, par exemple ici la police
    			this.setFont(new Font(this.getFont().getFontName(), Font.PLAIN , 13));
    			//ou alors modifier selon si c'est une feuille
    			if(leaf)
    			{
     
    				this.setIcon(new ImageIcon(getClass().getResource("/images/feuille.png")));
    				this.setToolTipText("Je suis une feuille");
     
    			}
    			else if(!expanded)//ou alors si c'est un nœud fermé
    			{
    				this.setIcon(new ImageIcon(getClass().getResource("/images/dossier_ferme.png")));
    			}
    			else//ou alors le cas par défaut, donc pas une feuille, ni un dossier fermé ! donc un dossier ouvert...
    			{
    				this.setIcon(new ImageIcon(getClass().getResource("/images/dossier_ouvert.png")));
    			}
     
    			return this;
    		}
    	}
    En espérant que ça te serve

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 49
    Points : 43
    Points
    43
    Par défaut
    Bonjour,

    Si je comprends bien la question, la réponse proposée ne résout pas ton problème. Tu veux pouvoir changer les icônes en fonction de l'état de tes nœuds (comme pour une machine à état).
    Je n'ai malheureusement pas de solution, mais si tu as résolu ton problème, la réponse m'intéresse. Je me demande même si c'est faisable.

    Merci pour ton aide

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 073
    Points : 7 978
    Points
    7 978
    Par défaut
    Pourtant la réponse semble toute indiquée pour faire cela. Il suffit d'adapter le corps de la fonction selon tes besoins.

    Sinon, voir avec http://docs.oracle.com/javase/tutori...ents/tree.html
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/05/2007, 04h32
  2. Réponses: 10
    Dernier message: 08/08/2006, 14h23
  3. [VB6] Comment changer l'icone d'un ActiveX?
    Par Ndugu dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 14/06/2006, 15h44
  4. comment Changer l'icone
    Par Hamza dans le forum Delphi
    Réponses: 3
    Dernier message: 04/06/2006, 19h12
  5. Comment changer l'icone par défaut ?
    Par Mariussy dans le forum EDI
    Réponses: 3
    Dernier message: 19/09/2005, 20h23

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