Java tutorial
import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTree; import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.TreeSelectionModel; public class MainClass extends JFrame { private JTree tree1; private JLabel showName = new JLabel(); public static void main(String[] args) { new MainClass(); } public MainClass() { this.setSize(225, 325); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel1 = new JPanel(); DefaultMutableTreeNode root, a, b, c, d, e; root = new DefaultMutableTreeNode("A"); a = makeShow("B", root); makeShow("C", a); makeShow("D", a); b = makeShow("E", root); d = makeShow("F", b); makeShow("G", d); e = makeShow("H", b); makeShow("I", e); makeShow("J", b); makeShow("K", b); c = makeShow("L", root); makeShow("M", c); makeShow("N", c); makeShow("O", c); tree1 = new JTree(root); tree1.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); tree1.setVisibleRowCount(12); tree1.addTreeSelectionListener(new TreeListener()); JScrollPane scroll = new JScrollPane(tree1); panel1.add(scroll); panel1.add(showName); this.add(panel1); this.setVisible(true); } private DefaultMutableTreeNode makeShow(String title, DefaultMutableTreeNode parent) { DefaultMutableTreeNode show; show = new DefaultMutableTreeNode(title); parent.add(show); return show; } private class TreeListener implements TreeSelectionListener { public void valueChanged(TreeSelectionEvent e) { Object o = tree1.getLastSelectedPathComponent(); DefaultMutableTreeNode show = (DefaultMutableTreeNode) o; String title = (String) show.getUserObject(); showName.setText(title); } } }