题目内容:
本题是一个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 DefaultMutableTreeNode("
TOP"):
DefaultMutableTreeNode a=new Default-
MutableTreeNode("A");
DefaultMutableTreeNode al=new Default-
MutableTreeNode("Al");
a.add(a1);
DefatIltMutableTreeNode a2=new Default-
MutableTreeNode("A2");
a.add(a2);
DefaultMutableTreeNode a3=new Default-
MutableTreeNode("A3");
a.add(a3);
DefaultMutableTreeNode b=new Default-
MutableTreeNode("B");
DefaultMutableTreeNode bl=new Default-
MutableTreeNode("Bl");
b.add(b1);
DefaultMutableTreeNode b2=new Default-
MutableTreeNode("B2");
b.add(b2);
DefaultMutableTreeNode b3=new Default-
MutableTreeNode("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("");
}
}
参考答案:
答案解析: