Mega Code Archive

 
Categories / Java by API / Javax Swing
 

New JTree(TreeNode root)

import java.awt.BorderLayout; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextField; import javax.swing.JTree; import javax.swing.ScrollPaneConstants; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.TreePath; public class MainClass extends JPanel {   public MainClass() {     final JTree tree;     final JTextField jtf;     DefaultMutableTreeNode top = new DefaultMutableTreeNode("Options");     DefaultMutableTreeNode a = new DefaultMutableTreeNode("A");     top.add(a);     DefaultMutableTreeNode a1 = new DefaultMutableTreeNode("A1");     a.add(a1);     DefaultMutableTreeNode a2 = new DefaultMutableTreeNode("A2");     a.add(a2);     DefaultMutableTreeNode b = new DefaultMutableTreeNode("B");     top.add(b);     DefaultMutableTreeNode b1 = new DefaultMutableTreeNode("B1");     b.add(b1);     DefaultMutableTreeNode b2 = new DefaultMutableTreeNode("B2");     b.add(b2);     DefaultMutableTreeNode b3 = new DefaultMutableTreeNode("B3");     b.add(b3);     tree = new JTree(top);     JScrollPane jsp = new JScrollPane(tree);     add(jsp, BorderLayout.CENTER);     jtf = new JTextField("", 20);     add(jtf, BorderLayout.SOUTH);     tree.addMouseListener(new MouseAdapter() {       public void mouseClicked(MouseEvent me) {         TreePath tp = tree.getPathForLocation(me.getX(), me.getY());         if (tp != null)           jtf.setText(tp.toString());         else           jtf.setText("");       }     });   }   public static void main(String[] args) {     JFrame frame = new JFrame();     frame.getContentPane().add(new MainClass());     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     frame.setSize(200, 200);     frame.setVisible(true);   } }