Résultats de 1 à 5 sur 5

Sujet : [Swing][jtree]Problemes d\'icones

  1. #1
    Membre MP
    Inscrit
    août 2013
    Messages
    14

    [Swing][jtree]Problemes d\'icones

    j\'ai realiser Un Jtree mon probleme ce que je veut ajouter des icon à mon jtree (C\'est pas la meme Icon a toutes les feuilles de mon arbre).
    Par exemple: pour une telle feuille je veut inserer une telle icone ,pour une autre feuille j\'insere une autre icon tout a fait différent.

    je n\'est pas pu le faire.
    Pourriez vous m\'aider.
    Merci d\'avance ops: :?:

  2. #2
    Membre MP
    Inscrit
    août 2013
    Messages
    1 823
    salut Wassimb poste nous un example de code pour que l\'on puisse t\'aider plus facilement.

  3. #3
    Membre MP
    Inscrit
    août 2013
    Messages
    14
    voilà ce que je desire:
    possedant par exemple un telle jtree
    ListesUser
    |__Forum_java
    | |__Zeb
    | |__wassimb
    |
    |__Forum_Vb
    |__x
    |__y
    Pour Zeb et xwassimb ces derniers apartienent au forum java ==>j\'insere une icone(x)
    Pour x et y ces derniers apartienent au forum VB ==>j\'insere une icone(y)
    le probleme reside au fait que je n\'ai pas trouver comment faire pour tester
    sur le parent de la feuille(cad:if(feuille appartient noeud Forum_java)==>insere icone(x)
    if(feuille appartient noeud Forum_Vb)==>insere icone(y))
    voila j\'ai realiser ca :
    Code:
    public class RenduArbre extends JPanel implements TreeCellRenderer,MouseMotionListener 
    { 
      private Icon icone; 
      private int rowSelection = -1; 
      public RenduArbre(Icon icone) 
      { 
         super(new FlowLayout()); 
         this.icone = icone; 
      } 
    
      public Component getTreeCellRendererComponent(JTree tree, Object value, 
            boolean selected, boolean expanded, boolean leaf, int row, 
            boolean hasFocus) 
      { 
         this.removeAll(); 
        
       if(leaf) 
         { 
            JLabel labelIcone = new JLabel(this.icone); 
            this.add(labelIcone); 
         } 
       if(value != null) 
         { 
            JLabel labelTexte = new JLabel(String.valueOf(value)); 
            if(selected) 
            { 
               labelTexte.setForeground(Color.red); 
            } 
            else 
            { 
               labelTexte.setForeground(Color.black); 
            } 
            if(row == this.rowSelection) 
            { 
               this.setBackground(Color.cyan); 
            } 
            else 
            { 
               this.setBackground(Color.white); 
            } 
            this.add(labelTexte); 
         } 
         return this; 
      } 
    
         arbre.repaint(); 
      } 
    }
    je n\'ai pas su comment y ajouter du code pou yassoier des icones telles que je desire
    Comment Faire alors ?
    Je compte sur vous ...
    Merci d\'avance
    ops:

  4. #4
    Membre MP
    Inscrit
    août 2013
    Messages
    14
    ecoute frere j\'ai le meme problem
    preparation de doctorat en informatique (EIAH)

  5. #5
    Membre MP
    Inscrit
    août 2013
    Messages
    1 823
    Voila ce que je propose :

    wassimb j\'ai chargé ton code et il presente quelques erreurs. Je propose donc que nous partions sur une base comune pour etudier le problème. Dans le code qui suit un JTree par defaut est créé. Prenons le comme base et apportons les modifications que nous proposons pour arriver au resultat.
    Code:
    package def;
    
    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.Component;
    import java.awt.Graphics;
    
    /*
     * fichier : Tree.java 
     * package : 
     * projet : Swing / JTree / images
     * de : zeb 
     * pour : wassimb
     * le : 7 Avril 2004 a : 7:28:23
     * contact : zebpm@hotmail.com
     */
    
    public class Tree extends JFrame implements ActionListener{
    
        JPanel pane;
        ImageIcon image1;
        ImageIcon image2;
        JButton bouton;
        JTree arbre;
    
        public Tree(){
            super(\"Arbre Java\");
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            pane = new JPanel();
            image1 = new ImageIcon(\"c:\\\\folder.gif\");
            image2= new ImageIcon(\"c:\\\\folder.open.gif\");
            arbre = new JTree();
            pane.add(arbre);
            setContentPane(pane);
        }
    
        public void actionPerformed (ActionEvent evt){
            Object source = evt.getSource();
    
        }
    
        public static void main (String[] arguments) { 
            System.out.println(\"Start Application.\");
            Tree f= new Tree();
            f.pack();
            f.setVisible(true);
        }
    }
    Voila je n\'est pas mis de getionnaire d\'evenement, je ne savais pas lequel vous vouliez utiliser. Si tu veux tu n\'as qu\'a faire des modif, les proposer et expliquer ce que tu veux obtenir.

    :wink:

Informations du sujet

Utilisateur(s) parcourant ce sujet

il y a actuellement 1 utilisateur(s) parcourant ce sujet. (0 membre(s) et 1 visiteur(s))

Règles des messages

  • Vous ne pouvez pas créer de sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas éditer vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé