Un arbre est un composant qui présente une vue hiérarchique des données. L'utilisateur a la possibilité de développer ou de réduire des sous-arbres individuels dans cet affichage. Les arbres sont implémentés dans Swing par la classe JTree. Bien que JTree soit empaqueté dans javax.swing.tree. En effet, le nombre de classes et d’interfaces nécessaires à la prise en charge de JTree est assez important. Ci-dessous, quelques étapes expliquant JTree avec un exemple.
Pas
-
1 Créez une instance de JTree.
-
2 Créez un JScrollPane et spécifiez l'arborescence comme objet à faire défiler.
-
3 Ajoutez l'arborescence au volet de défilement.
-
4 Ajoutez le volet de défilement au volet de contenu.
-
5 Utilisez l'exemple à des fins d'apprentissage. L'exemple suivant montre comment créer une arborescence et gérer les sélections.
- Le programme crée une instance DefaultMutableTreeNode intitulée "Options". C'est le nœud supérieur de la hiérarchie de l'arborescence.
- Des nœuds d'arbre supplémentaires sont alors créés et la méthode add () est appelée pour connecter ces nœuds à l'arborescence. Une référence au nœud supérieur de l'arborescence est fournie comme argument du constructeur JTree.
- L'arborescence est ensuite fournie comme argument du constructeur JScrollPane. Ce volet de défilement est ensuite ajouté au volet de contenu.
- Ensuite, une étiquette est créée et ajoutée au volet de contenu. La sélection de l'arborescence est affichée dans cette étiquette.
- Pour recevoir des événements de sélection de l'arborescence, un TreeSelectionListener est enregistré pour l'arborescence. Dans la méthode valeChanged (), le chemin d'accès à la sélection actuelle est obtenu et affiché. // Démonstration de JTreeimport java.awt. *; Import javax.swing. *; Import java.awt.event. *; Import java.swing.tree. *; / ** / classe publique JTreeDemo extend JApplet arborescence JTree; JLabel jlab ; public void init () try SwingUtilities.invokeAndWait (new Runnable () public void run () makeGUI ();); catch (Exception exc) System.out.println ("Impossible de créer à cause de "+ exc); private void makeGUI () // Crée le nœud supérieur de treeDefaultMutableTreeNode top = new DefaultMutableTreeNode (" Options "); // Crée le sous-arbre de" A ".DefaultMutableTreeNode a = new DefaultMutableTreeNode (" A " ); top.add (a); DefaultMutableTreeNode a1 = new DefaultMutableTreeNode ("A1"); a.add (a1); DefaultMutableTreeNode a2 = new DefaultMutableTreeNode ("A2"); a.add (a2); // Créer un sous-arbre de "B" DefaultMutableTreeNode b = new DefaultMutableTreeNode ("B"); top.add (b); DefaultMutableTreeNode b1 = new DefaultMutableTreeNode ("B1"); b.add (b1); DefaultMutableTreeNode b2 = new DefaultMutableTreeNode ("B2"); b.add (b2); // Crée le treetree = new JTree (en haut); // Ajoute l'arborescence à un panneau de défilement.JScrol lPane jsp = new JScrollPane (arborescence); // Ajoute le volet de défilement au volet de contenu.add (jsp); // Ajoute le libellé au contenu pane.jlab = new JLabel (); add (jlab, BorderLayout.SOUTH) ; // Gérer la sélection d'arborescence events.tree.addTreeSelectionListener (new TreeSelectionListener () public void valueChanged (TreeSelectionEvent tse) jlab.setText ("Selection est" + tse.getPath ()););
Facebook
Twitter
Google+