import java.util.Enumeration; import javax.swing.event.*; import javax.swing.JFrame; import javax.swing.JTree; import javax.swing.tree.*; /** * @version 1.0 2002-07-14 * @author Takashi KOBAYASHI */ public class memo10ex1 { JFrame frame; JTree tree; public static void main( String[] args ) { memo10ex1 ex1 = new memo10ex1(); } public memo10ex1() { DefaultMutableTreeNode root = new DefaultMutableTreeNode( "SwingSwinging.com" ); MutableTreeNode node = new DefaultMutableTreeNode( "Column" ); node.insert( new DefaultMutableTreeNode( "JavaMemo" ), 0 ); node.insert( new DefaultMutableTreeNode( "Diary" ), 1 ); root.add( node ); node = new DefaultMutableTreeNode( "Desktop Java" ); ( (DefaultMutableTreeNode)node ).add( new DefaultMutableTreeNode( "Not Readme" ) ); root.add( node ); tree = new JTree( root ); tree.addTreeSelectionListener( new TreeSelectionListener(){ public void valueChanged( TreeSelectionEvent e ) { TreePath[] paths = e.getPaths(); for( int i = 0; i < paths.length; i++ ) if( e.isAddedPath( paths[i] ) ) { System.out.println( "Added New to Selection: " + paths[i].toString() ); Object[] objs = paths[i].getPath(); for( int j = 0; j < objs.length; j++ ) System.out.println( "Path Component: " + objs[j].getClass().getName() + ", Value: " + objs[j].toString() ); System.out.println( "LastPathComponent: " + paths[i].getLastPathComponent().getClass().getName() + ", Value: " + paths[i].getLastPathComponent().toString() ); System.out.println(); } } } ); frame = new JFrame( "memo10ex1" ); frame.getContentPane().add( tree ); frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); frame.pack(); frame.setVisible( true ); } }