ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
544
544
EMPFEHLEN
-
14.03.10 16:53 #1Hendrik Tutorials.de Gastzugang
Hallo,
ich möchte von Anfang an alle Ebenen eines JTree's geöffnet haben. Wüsste da jmd von euch was?
Hier übrigens ein kleiner Testbaum mit 3 Ebenen. Die Wurzel und die Ebene darunter sind von Anfang an geöffnet, die Ebene ohne "Kinder" jedoch nicht mehr.
Code :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
public class TestBaum{ public static void main(String[] args) { new TestBaum(); } public TestBaum() { JFrame frame = new JFrame("BaumTest"); JPanel pan = new JPanel(new GridLayout(1,1)); DefaultMutableTreeNode wurzel = new DefaultMutableTreeNode("Baumwurzel"); for (int i = 0; i < 5; i++) { DefaultMutableTreeNode ebene1 = new DefaultMutableTreeNode("Test " + (i+1)); for (int j = 0; j < 3; j++) { DefaultMutableTreeNode ebene2 = new DefaultMutableTreeNode("EbeneZwei " + (j+1)); ebene1.add(ebene2); } wurzel.add(ebene1); } DefaultTreeModel treeModel = new DefaultTreeModel(wurzel); JTree tree = new JTree(treeModel); tree.setEditable(false); tree.getSelectionModel().setSelectionMode( TreeSelectionModel.SINGLE_TREE_SELECTION); tree.setShowsRootHandles(false); pan.add(tree); frame.add(pan); frame.setSize(200,200); frame.setLocation(100,100); frame.setVisible(true); } }
-
Howdie.
Schau dir mal die Methode expandPath(TreePath p) des JTree-Objekts an.
Mein erster Vorschlag wäre das Hinzufügen von Child-Nodes an einen Parent-Node in eine Methode zu packen und folgendermaßen vorzugehen:
Ist aus dem Kopf geschrieben, daher keine Garantie auf 100% Richtigkeit.Code :1 2 3 4 5 6 7 8 9
public void addNewChildNodeToParent(TreeNode parent, TreeNode... childNodes){ for(TreeNode child : childNodes){ parent.add(child); } TreePath p = new TreePath(this.rootNode.getPath()); this.myJTree.expandPath(p); }
Gruß
miffi"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
-
16.03.10 16:55 #3
Hallo,
hier ist eine andere Möglichkeit, den kompletten Baum zu öffnen:
Code java:1 2 3 4 5 6 7
public void expandAll(JTree tree) { int row = 0; while (row < tree.getRowCount()) { tree.expandRow(row); row++; } }
Grüße
Vincent"Any sufficiently advanced technology is indistinguishable from magic." Arthur C. Clarke.
Ähnliche Themen
-
JTree - klick auf Blätter neues Fram öffnen
Von Polli im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 15.07.08, 08:12 -
[VC++] Tab Page immer offen halten
Von the incredible Leitman im Forum .NET Windows FormsAntworten: 5Letzter Beitrag: 21.12.06, 17:33 -
[VC++] Tab Page2 immer offen halten
Von the incredible Leitman im Forum .NET Windows FormsAntworten: 2Letzter Beitrag: 31.07.06, 12:50 -
Eingabeaufforderung offen halten?
Von Suchfunktion im Forum Microsoft WindowsAntworten: 2Letzter Beitrag: 03.04.05, 22:16 -
Response.OutputStream offen halten
Von StageZero im Forum .NET ArchivAntworten: 0Letzter Beitrag: 06.09.04, 12:58





Zitieren
Login





