JTree expanden

jean luc

Mitglied
Hi,
habe ein Problem einen JTree zu expanden. Ich möchte das der JTree vollständig ausgeklappt ist wenn ich das Programm öffne. Der ist immer nur eine Zeile bei Programmstart.
Wie kann ich den ausklappen?
Gruß
 
Servus!

Code:
import java.awt.*;
import javax.swing.*;
import javax.swing.tree.*;

/*
 * TreeTest.java
 *
 * Created on 2. Dezember 2003, 19:57
 */

/**
 *
 * @author  Administrator
 */

import javax.swing.tree.TreeModel;
import javax.swing.tree.TreeNode;

public class TreeTest extends javax.swing.JFrame {
    
    private JTree tree;
    /** Creates new form TreeTest */
    public TreeTest() {
        initComponents();
        
        Object[] hierarchy =
        { "javax.swing",
          "javax.swing.border",
          "javax.swing.colorchooser",
          "javax.swing.event",
          "javax.swing.filechooser",
          new Object[] { "javax.swing.plaf",
          "javax.swing.plaf.basic",
          "javax.swing.plaf.metal",
          "javax.swing.plaf.multi" },
          "javax.swing.table",
          new Object[] { "javax.swing.text",
          new Object[] { "javax.swing.text.html",
          "javax.swing.text.html.parser", new Object[]{"HALLO", "TEST"}},
          "javax.swing.text.rtf" },
          "javax.swing.tree",
          "javax.swing.undo" };
          DefaultMutableTreeNode root = processHierarchy(hierarchy);
          tree = new JTree(root);
          tree.setSize(320,240);
          jScrollPane1.setViewportView(tree);
          for (int i = 0; i < tree.getRowCount(); i++) {
              tree.expandRow(i);
          }
          
          setSize(400,300);
          
          
          
    }
    
    private DefaultMutableTreeNode processHierarchy(Object[] hierarchy) {
        DefaultMutableTreeNode node =
        new DefaultMutableTreeNode(hierarchy[0]);
        DefaultMutableTreeNode child;
        for(int i=1; i<hierarchy.length; i++) {
            Object nodeSpecifier = hierarchy[i];
            if (nodeSpecifier instanceof Object[])  // Ie node with children
                child = processHierarchy((Object[])nodeSpecifier);
            else
                child = new DefaultMutableTreeNode(nodeSpecifier); // Ie Leaf
            node.add(child);
        }
        
        return(node);
    }
    
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    private void initComponents() {
        jPanel1 = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();

        setTitle("JTreeTest");
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                exitForm(evt);
            }
        });

        jPanel1.setLayout(new java.awt.GridBagLayout());

        jPanel1.setMinimumSize(new java.awt.Dimension(320, 240));
        jPanel1.setPreferredSize(new java.awt.Dimension(320, 240));
        jScrollPane1.setMinimumSize(new java.awt.Dimension(320, 240));
        jScrollPane1.setPreferredSize(new java.awt.Dimension(320, 240));
        jPanel1.add(jScrollPane1, new java.awt.GridBagConstraints());

        getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);

        pack();
    }
    
    /** Exit the Application */
    private void exitForm(java.awt.event.WindowEvent evt) {
        System.exit(0);
    }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        new TreeTest().show();
    }
    
    
    // Variables declaration - do not modify
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
    // End of variables declaration
    
}

Gruß Tom
 

Neue Beiträge

Zurück