import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.tree.*;
public class JTreeDemo
{
public static void main(String surat[])
{
new JTreeDemo();
}
public JTreeDemo()
{
JFrame f = new JFrame("JTree Demo");
Container c = f.getContentPane();
c.setLayout( new BorderLayout() );
//Create top node of a tree
DefaultMutableTreeNode top = new DefaultMutableTreeNode("Course");
//Create a subtree
DefaultMutableTreeNode UG = new DefaultMutableTreeNode("Bachelor");
top.add(UG);
DefaultMutableTreeNode a1 = new DefaultMutableTreeNode("B.E");
UG.add(a1);
DefaultMutableTreeNode a2 = new DefaultMutableTreeNode("B.C.A");
UG.add(a2);
DefaultMutableTreeNode a3 = new DefaultMutableTreeNode("B.Sc");
UG.add(a3);
DefaultMutableTreeNode a4 = new DefaultMutableTreeNode("B.Com");
UG.add(a4);
DefaultMutableTreeNode a5 = new DefaultMutableTreeNode("B.A");
UG.add(a5);
//Create a subtree
DefaultMutableTreeNode PG = new DefaultMutableTreeNode("Master");
top.add(PG);
DefaultMutableTreeNode b1 = new DefaultMutableTreeNode("M.E");
PG.add(b1);
DefaultMutableTreeNode b2 = new DefaultMutableTreeNode("M.C.A");
PG.add(b2);
DefaultMutableTreeNode b3 = new DefaultMutableTreeNode("M.Sc");
PG.add(b3);
DefaultMutableTreeNode b4 = new DefaultMutableTreeNode("M.Com");
PG.add(b4);
DefaultMutableTreeNode b5 = new DefaultMutableTreeNode("M.A");
PG.add(b5);
//Creating tree
final JTree tree = new JTree(top);//it is accessed within inner class so it must be final
int v = ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;
int h = ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;
JScrollPane jsp = new JScrollPane(tree,v,h);
c.add(jsp,BorderLayout.CENTER );
final JTextField text = new JTextField("",20);//it is accessed within inner class so it must be final
c.add(text,BorderLayout.SOUTH);
tree.addMouseListener( new MouseAdapter()
{
public void mouseClicked( MouseEvent me)
{
TreePath tp = tree.getPathForLocation(me.getX(),me.getY() );
if( tp != null )
text.setText(tp.toString() );
else
text.setText("");
}
});
f.setSize(300,300);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Output:
import java.awt.event.*;
import javax.swing.*;
import javax.swing.tree.*;
public class JTreeDemo
{
public static void main(String surat[])
{
new JTreeDemo();
}
public JTreeDemo()
{
JFrame f = new JFrame("JTree Demo");
Container c = f.getContentPane();
c.setLayout( new BorderLayout() );
//Create top node of a tree
DefaultMutableTreeNode top = new DefaultMutableTreeNode("Course");
//Create a subtree
DefaultMutableTreeNode UG = new DefaultMutableTreeNode("Bachelor");
top.add(UG);
DefaultMutableTreeNode a1 = new DefaultMutableTreeNode("B.E");
UG.add(a1);
DefaultMutableTreeNode a2 = new DefaultMutableTreeNode("B.C.A");
UG.add(a2);
DefaultMutableTreeNode a3 = new DefaultMutableTreeNode("B.Sc");
UG.add(a3);
DefaultMutableTreeNode a4 = new DefaultMutableTreeNode("B.Com");
UG.add(a4);
DefaultMutableTreeNode a5 = new DefaultMutableTreeNode("B.A");
UG.add(a5);
//Create a subtree
DefaultMutableTreeNode PG = new DefaultMutableTreeNode("Master");
top.add(PG);
DefaultMutableTreeNode b1 = new DefaultMutableTreeNode("M.E");
PG.add(b1);
DefaultMutableTreeNode b2 = new DefaultMutableTreeNode("M.C.A");
PG.add(b2);
DefaultMutableTreeNode b3 = new DefaultMutableTreeNode("M.Sc");
PG.add(b3);
DefaultMutableTreeNode b4 = new DefaultMutableTreeNode("M.Com");
PG.add(b4);
DefaultMutableTreeNode b5 = new DefaultMutableTreeNode("M.A");
PG.add(b5);
//Creating tree
final JTree tree = new JTree(top);//it is accessed within inner class so it must be final
int v = ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;
int h = ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;
JScrollPane jsp = new JScrollPane(tree,v,h);
c.add(jsp,BorderLayout.CENTER );
final JTextField text = new JTextField("",20);//it is accessed within inner class so it must be final
c.add(text,BorderLayout.SOUTH);
tree.addMouseListener( new MouseAdapter()
{
public void mouseClicked( MouseEvent me)
{
TreePath tp = tree.getPathForLocation(me.getX(),me.getY() );
if( tp != null )
text.setText(tp.toString() );
else
text.setText("");
}
});
f.setSize(300,300);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Output:
No comments:
Post a Comment