[[adresare]]
 
package adresare;
 
import javax.swing.*;
import javax.swing.tree.*;
import java.io.*;
 
public class Window extends javax.swing.JFrame {
 
    DefaultTreeModel m;
    MyNode root;
 
    public Window() {
        initComponents();
        String s = "c:\\Program Files";
        root = new MyNode (s);
        root.path = s;
        m = new DefaultTreeModel (root);
        jTree1.setModel (m);
        showDir (root, root.path, 2);
    }
 
    private void showDir (MyNode above, String path, int level)
    {
        // import java.io.*;
        File dir = new File (path);
        String [] list = dir.list ();
        above.scanned = true; 
        // for (int i = 0; i < list.length; i++)
        if (list != null)
            for (String s : list)
            {
                MyNode node = new MyNode (s);
                node.path = path + File.separator + s;
                above.add(node);
 
                if (level > 1)
                {
                   File f = new File (node.path);
                   if (f.isDirectory())
                      showDir (node, node.path, level-1);
                }
            }
        m.reload(above);
    }
 
    private void rescanDir (MyNode above, int level)
    {
        if (above.scanned)
        {
            if (level > 1)
            {
                int cnt = above.getChildCount();
                for (int i = 0; i < cnt; i++)
                {
                    TreeNode tn = above.getChildAt (i);
                    if (tn instanceof MyNode)
                    {
                        MyNode node = (MyNode) tn;
                        rescanDir (node, level-1);
                    }
                }
            }
        }
        else
        {
            showDir (above, above.path, level);
        }
    }
 
}
package adresare;
 
import javax.swing.*;
import javax.swing.tree.*;
 
public class MyNode extends DefaultMutableTreeNode {
 
    public String path;
    public boolean scanned = false;
 
    public MyNode (String p)
    {
        super (p);
    }
 
}
 
adresare.txt · Last modified: 2013/11/28 17:04 by 147.32.8.115
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki