本题是一个Applet,它显示了一个树型结构。单击树结点的时候,就能将其子结点展开,同时下面的文本框可以显示出所单击的结点的路径,比如单击了根结点下B结点下B2结点,则文本框显示为“[TOP,B,B2]”。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.tree.*;
public class java2 extends JApplet
JTree tree;
JTextField jtf;
public void init()
Container cp=getContentPane();
cp.setLayout(new BorderLayout());
______top=new DefauhMutableTreeNode("TOP");
DefauhMutableTreeNode a=new DefaultMutableTreeNode("A");
DefaultMutableTreeNode a1=new DefaultMutableTreeNode("A1");
a.add(a1);
DefaultMutableTreeNode a2=new DefaultMutableTreeNode("A2");
a.add(a2);
DefaultMutableTreeNode a3=new DefauhMutableTreeNode("A3");
a.add(a3);
DefaultMutableTreeNode b=new DefaultMutableTreeNode("B");
DefaultMutableTreeNode b1=new DefaultMutableTreeNode("B1");
b.add(b1);
DefaultMutableTteeNode b2=new DefaultMutableTreeNode("B2");
b.add(b2);
DefaultMutableTreeNode b3=new DefaultMutableTreeNode("B3");
b.add(b3);
top.add(a);
top.add(b);
tree=new JTree(top);
int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;
int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;
JScrollPane jsp=new JScrollPane(tree,v,h);
cp.add(jsp,BorderLayout.CENTER);
jtf=new JTextField(20);
cp.add(jtf,BorderLayout.SOUTH);
tree.addMouseListener(new MouseAdapter()
public void mouseClicked(MouseEvent me)
doMouseClicked(me);
);
void doMouseClicked(MouseEvent me)
______tp=tree.getPathForLocation(me.getX(),me.getY());
if(tp!=null)
jtf.setText(tp.toString());
else
jtf.setText("");