//Title: Your Product Name //Version: //Copyright: Copyright (c) 1998 //Author: Your Name //Company: Your Company //Description: Your description package presentation; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.tree.*; import javax.swing.event.*; public class TreeExampleFrame extends JFrame { private JTree theTree; DefaultTreeModel theModel; public TreeExampleFrame() { super("Tree Example"); setSize(400,300); this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } public void createTree() { ImageIcon fb = new ImageIcon("C:/Temp/fball.bmp"); //DefaultTreeCellRenderer dtcr = new DefaultTreeCellRenderer(); DefaultMutableTreeNode root = new DefaultMutableTreeNode("NFL"); DefaultMutableTreeNode conferenceN = new DefaultMutableTreeNode("NFC"); DefaultMutableTreeNode conferenceA = new DefaultMutableTreeNode("AFC"); DefaultMutableTreeNode eastN = new DefaultMutableTreeNode("Eastern Division"); DefaultMutableTreeNode centralN = new DefaultMutableTreeNode("Central Division"); DefaultMutableTreeNode westN = new DefaultMutableTreeNode("Western Division"); DefaultMutableTreeNode eastA = new DefaultMutableTreeNode("Eastern Division"); DefaultMutableTreeNode centralA = new DefaultMutableTreeNode("Central Division"); DefaultMutableTreeNode westA = new DefaultMutableTreeNode("Western Division"); DefaultMutableTreeNode[] teamsN = buildTeamsN(); DefaultMutableTreeNode[] teamsA = buildTeamsA(); theModel = new DefaultTreeModel(root); theTree = new JTree(theModel); theModel.addTreeModelListener(new TreeModelListener_adapter(this)); theTree.addTreeSelectionListener(new TreeSelectionListener_adapter(this)); theModel.insertNodeInto(conferenceN,root,0); theModel.insertNodeInto(conferenceA,root,1); theModel.insertNodeInto(eastN,conferenceN,0); theModel.insertNodeInto(centralN,conferenceN,1); theModel.insertNodeInto(westN,conferenceN,2); theModel.insertNodeInto(eastA,conferenceA,0); theModel.insertNodeInto(centralA,conferenceA,1); theModel.insertNodeInto(westA,conferenceA,2); for (int i=0; i<5; i++) { theModel.insertNodeInto(teamsN[i],westN,i); } for (int i=0; i<5; i++) { theModel.insertNodeInto(teamsA[i],eastA,i); } this.getContentPane().add(theTree, BorderLayout.CENTER); } private DefaultMutableTreeNode[] buildTeamsN() { DefaultMutableTreeNode[] teams = new DefaultMutableTreeNode[5]; teams[0] = new DefaultMutableTreeNode("San Francisco"); teams[1] = new DefaultMutableTreeNode("St. Louis"); teams[2] = new DefaultMutableTreeNode("Atlanta"); teams[3] = new DefaultMutableTreeNode("Carolina"); teams[4] = new DefaultMutableTreeNode("New Orleans"); return teams; } private DefaultMutableTreeNode[] buildTeamsA() { DefaultMutableTreeNode[] teams = new DefaultMutableTreeNode[5]; teams[0] = new DefaultMutableTreeNode("Buffalo"); teams[1] = new DefaultMutableTreeNode("Indianapolis"); teams[2] = new DefaultMutableTreeNode("N.Y. Jets"); teams[3] = new DefaultMutableTreeNode("Miami"); teams[4] = new DefaultMutableTreeNode("New England"); return teams; } public static void main(String args[]) { TreeExampleFrame tef = new TreeExampleFrame(); tef.createTree(); tef.setVisible(true); } } class TreeModelListener_adapter implements javax.swing.event.TreeModelListener{ TreeExampleFrame adaptee; TreeModelListener_adapter(TreeExampleFrame adaptee) { this.adaptee = adaptee; } public void treeNodesChanged(TreeModelEvent e) { System.out.println("Made it Here Change"); } public void treeNodesInserted(TreeModelEvent e) { System.out.println("Made it Here Insert"); } public void treeNodesRemoved(TreeModelEvent e) { System.out.println("Made it Here Remove"); } public void treeStructureChanged(TreeModelEvent e) { System.out.println("Made it Here"); } } class TreeSelectionListener_adapter implements javax.swing.event.TreeSelectionListener{ TreeExampleFrame adaptee; TreeSelectionListener_adapter(TreeExampleFrame adaptee) { this.adaptee = adaptee; } public void valueChanged(TreeSelectionEvent e) { System.out.println("Made it Here Selection "+e.getSource()+" AND "+e.toString()); } }