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 :

JTree comment le développer en entier par défaut?


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Par défaut JTree comment le développer en entier par défaut?
    j'ai un JTree comment lors de l'affichage l'avoir deja complement développer, (toutes les branches)
    merci bcp de toute aide

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    import java.awt.*;
    import javax.swing.*;
    import javax.swing.tree.*;
    import javax.swing.event.*;
     
     
    public class SelecTree extends JFrame {
      public static void main(String[] args) {
        new SelecTree(hierarchy);
      }
     
     
        static int[] hierarchy =  {1, 2,3,0,4,7,8,-1,0,5,6,-1};
     
     
      public SelecTree(int[] hierarchy) {
        super("");
        Container content = getContentPane();
     
        DefaultMutableTreeNode root = processHierarchy();
        JTree tree = new JTree(root);
        tree.expandRow(0);
        content.add(new JScrollPane(tree), BorderLayout.CENTER);
        setSize(250, 275);
        setVisible(true);
      }
     
     
     
    int index=0;
     
      private DefaultMutableTreeNode processHierarchy() {
        DefaultMutableTreeNode node =
          new DefaultMutableTreeNode(hierarchy[index]);
        DefaultMutableTreeNode child=null;
        index++;
        while(index <hierarchy.length-1 && hierarchy[index]!=-1) {
          int a = hierarchy[index];
          if (a == 0){  //  node with children
            index++;
            child = processHierarchy();
          }else{
            child = new DefaultMutableTreeNode(a); //  Leaf
          }
          node.add(child);
          index++;
        }
        return(node);
      }
     
    }
    ça marche avec
    for (int i=0;i<tree.getRowCount();i++)
    tree.expandRow(i);

    mais il n'y aurai tpas une méthode directe?

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 106
    Par défaut
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
      /**
       * Permet d'ouvrir tous les chemins de l'arbre
       */
      public static void expandAll(JTree tree)
      {
        TreeNode root = (TreeNode) tree.getModel().getRoot();
     
        // Traverse tree from root
        expandOrCollapsePath(tree, new TreePath(root), true);
      }
     
      /**
       * Permet de fermer tous les chemins de l'arbre
       */
      public static void collapseAll(JTree tree)
      {
        TreeNode root = (TreeNode) tree.getModel().getRoot();
     
        // Traverse tree from root
        expandOrCollapsePath(tree, new TreePath(root), false);
      }
     
     
      /**
       * Permet d'ouvrir ou de fermer tous les chemins de l'arbre à partir d'un noeud
       */
      @SuppressWarnings("unchecked")
      public static void expandOrCollapsePath(JTree tree, TreePath parent, boolean expand)
      {
        // Traverse children
        TreeNode node = (TreeNode) parent.getLastPathComponent();
        if (node.getChildCount() >= 0)
        {
          for(Enumeration<TreeNode> enm = node.children(); enm.hasMoreElements();)
          {
            TreeNode n = enm.nextElement();
            TreePath path = parent.pathByAddingChild(n);
            expandOrCollapsePath(tree, path, expand);
          }
        }
     
        //
        if (expand)
          tree.expandPath(parent);
        else
          tree.collapsePath(parent);
      }

Discussions similaires

  1. Comment afficher tous les utilisateurs par défaut d'Oracle
    Par oladele.liamidi dans le forum Administration
    Réponses: 2
    Dernier message: 11/01/2010, 09h26
  2. [Vista] Comment shunter la reconnaissance vocale par défaut ?
    Par Quintus dans le forum Framework .NET
    Réponses: 0
    Dernier message: 12/09/2008, 14h39
  3. Réponses: 1
    Dernier message: 10/09/2007, 19h10
  4. [C#] Comment implementer mon Navigateur perso par défaut ?
    Par ArHacKnIdE dans le forum Windows Forms
    Réponses: 8
    Dernier message: 12/02/2006, 19h53

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