package tree; public class Info { public String name; public String path; public Boolean directory; public Boolean ready; // vyplneny podadresare public String toString () { return name; } } private void displayDirectory (DefaultMutableTreeNode target, File dir, int level) { File [] list = dir.listFiles(); if (list == null) { DefaultMutableTreeNode node = new DefaultMutableTreeNode ("nepristupny adresar"); target.add (node); } else { for (File item : list) { Info data = new Info (); data.name = item.getName(); data.path = item.getAbsolutePath (); data.directory = item.isDirectory (); DefaultMutableTreeNode node = new DefaultMutableTreeNode (data); target.add (node); if (level > 1 && data.directory) displayDirectory (node, item, level-1); } } } private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { String dir_name = "C:\\"; try { File d0 = new File (dir_name); dir_name = d0.getCanonicalPath(); setTitle(dir_name); } catch (IOException ex) { setTitle (ex.getMessage()); } File d = new File (dir_name); Info data = new Info (); data.name = d.getName(); data.path = d.getAbsolutePath (); data.directory = true; DefaultMutableTreeNode root = new DefaultMutableTreeNode (data); displayDirectory (root, d, 2); DefaultTreeModel model = new DefaultTreeModel (root); jTree1.setModel (model); } private void jTree1TreeExpanded(javax.swing.event.TreeExpansionEvent evt) { Object last = evt.getPath().getLastPathComponent(); DefaultMutableTreeNode node = (DefaultMutableTreeNode) last; String txt = (String) node.getUserObject(); this.setTitle("expand " + txt); }