import java.io.*; import java.util.*; import javax.swing.*; /** * @version 1.0 2002-11-23 * @author Takashi KOBAYASHI */ public class memo10ex3 { public static void main( String[] args ) { memo10ex3 ex3 = new memo10ex3(); } public memo10ex3() { File root = new File("./root"); Hashtable ret = new Hashtable(); if( root.isDirectory() ) ret.put( new NodeWrapper( root ), getChildren( root ) ); else ret.put( new NodeWrapper( root ), root ); JTree tree = new JTree( ret ); JFrame frame = new JFrame( "memo10ex3" ); frame.getContentPane().add( tree ); frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); frame.pack(); frame.setVisible( true ); } public Hashtable getChildren( File parent ) { File[] files = parent.listFiles(); Hashtable ret = new Hashtable(); for( int i = 0; i < files.length; i++ ) { if( files[i].isDirectory() ) ret.put( new NodeWrapper( files[i] ), getChildren( files[i] ) ); else ret.put( new NodeWrapper( files[i] ), files[i] ); } return ret; } class NodeWrapper { File file; public NodeWrapper( File f ) { file = f; } public String toString() { return file.getName(); } } }