Ein Baum ist eine Komponente, die eine hierarchische Ansicht von Daten darstellt. Der Benutzer hat die Möglichkeit, einzelne Teilbäume in dieser Anzeige zu erweitern oder zu reduzieren. Bäume werden in Swing von der JTree-Klasse implementiert. Obwohl JTree in javax.swing.tree gepackt ist. Dies liegt daran, dass die Anzahl der Klassen und Schnittstellen, die benötigt werden, um JTree zu unterstützen, ziemlich groß ist. Im Folgenden finden Sie einige Schritte, die JTree anhand eines Beispiels erläutern.
Schritte
- 1 Erstellen Sie eine Instanz von JTree.
- 2 Erstellen Sie ein JScrollPane und geben Sie den Baum als Objekt an, das gescrollt werden soll.
- 3 Fügen Sie die Struktur zum Bildlaufbereich hinzu.
- 4 Fügen Sie den Bildlaufbereich zum Inhaltsbereich hinzu.
- 5 Verwenden Sie das Beispiel für Lernzwecke. Das folgende Beispiel zeigt, wie Sie eine Struktur erstellen und Selektionen bearbeiten.
- Das Programm erstellt eine DefaultMutableTreeNode-Instanz mit der Bezeichnung "Options". Dies ist der oberste Knoten der Baumhierarchie.
- Weitere Baumknoten werden dann erstellt, und die Methode add () wird aufgerufen, um diese Knoten mit dem Baum zu verbinden. Ein Verweis auf den obersten Knoten in der Struktur wird als Argument für den JTree-Konstruktor bereitgestellt.
- Der Baum wird dann als Argument für den JScrollPane-Konstruktor bereitgestellt. Dieser Bildlaufbereich wird dann zum Inhaltsbereich hinzugefügt.
- Als Nächstes wird ein Label erstellt und zum Inhaltsbereich hinzugefügt. Die Baumauswahl wird in diesem Label angezeigt.
- Um Auswahlereignisse aus der Baumstruktur zu erhalten, wird ein TreeSelectionListener für die Baumstruktur registriert. In der valeChanged () - Methode wird der Pfad zur aktuellen Auswahl abgerufen und angezeigt. // Demonstriere JTreeimport java.awt. *; Import javax.swing. *; Import java.awt.event. *; Import java.swing.tree. *; / ** / öffentliche Klasse JTreeDemo erweitert JApplet JTree tree; JLabel jlab ; public void init () try SwingUtilities.invokeAndWait (neu Runnable () public void run () makeGUI ();); catch (Ausnahme exc) System.out.println ("Kann nicht erstellt werden wegen "+ exc); private void makeGUI () // Erstelle den obersten Knoten von treeDefaultMutableTreeNode top = new DefaultMutableTreeNode (" Optionen "); // Erstelle Teilbaum von" A ".DefaultMutableTreeNode a = new DefaultMutableTreeNode (" A " ); top.add (a); DefaultMutableTreeNode a1 = neuer DefaultMutableTreeNode ("A1"); a.add (a1); DefaultMutableTreeNode a2 = neuer DefaultMutableTreeNode ("A2"); a.add (a2); // Teilbaum von erstellen "B" DefaultMutableTreeNode b = neuer DefaultMutableTreeNode ("B"); top.add (b); DefaultMutableTreeNode b1 = neuer DefaultMutableTreeNode ("B1"); b.add (b1); DefaultMutableTreeNode b2 = neuer DefaultMutableTreeNode ("B2"); b.add (b2); // Erzeuge den treetree = new JTree (oben); // Füge den Baum zu einem Bildlauffenster hinzu.JScrol lPane jsp = new JScrollPane (tree); // Fügen Sie dem Inhaltsbereich den Bildlaufbereich hinzu.add (jsp); // Fügen Sie dem Inhalt die Bezeichnung label hinzu.jlab = new JLabel (); add (jlab, BorderLayout.SOUTH) ; // Baumauswahl verarbeiten events.tree.addTreeSelectionListener (new TreeSelectionListener () public void valueChanged (TreeSelectionEvent tse) jlab.setText ("Auswahl ist" + tse.getPath ());)
Facebook
Twitter
Google+