import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTextArea;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeCellRenderer;
public class TreeE extends JFrame implements TreeSelectionListener{
JTree tree=null;
Container content;
JTextArea text=new JTextArea(20,20);
public TreeE(){
content=getContentPane();
content.setLayout(new FlowLayout());
DefaultMutableTreeNode root=new DefaultMutableTreeNode("图书馆");
DefaultMutableTreeNode dm1=new DefaultMutableTreeNode("计算机图书");
DefaultMutableTreeNode dm2=new DefaultMutableTreeNode("经济与管理类图书");
DefaultMutableTreeNode dm3=new DefaultMutableTreeNode("文学类图书");
DefaultMutableTreeNode dm1_1=new DefaultMutableTreeNode("Java实例教程");
DefaultMutableTreeNode dm1_2=new DefaultMutableTreeNode("JSP大全");
DefaultMutableTreeNode dm1_3=new DefaultMutableTreeNode("Ajax精通");
DefaultMutableTreeNode dm2_1=new DefaultMutableTreeNode("中国金融走向");
DefaultMutableTreeNode dm2_2=new DefaultMutableTreeNode("谈商业经济");
DefaultMutableTreeNode dm2_3=new DefaultMutableTreeNode("经济学");
root.add(dm1);
root.add(dm2);
root.add(dm3);
dm1.add(dm1_1);
dm1.add(dm1_2);
dm1.add(dm1_3);
dm2.add(dm2_1);
dm2.add(dm2_2);
dm2.add(dm2_3);
tree=new JTree(root);
DefaultTreeCellRenderer render=new DefaultTreeCellRenderer();
render.setBackground(Color.yellow);
render.setTextSelectionColor(Color.red);
render.setTextNonSelectionColor(Color.green);
render.setFont(new Font("TimeRoma",Font.BOLD,16));
tree.setCellRenderer(render);
JScrollPane scrollpane=new JScrollPane(text);
JSplitPane splitpane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,tree,scrollpane);
tree.addTreeSelectionListener(this);
content.add(splitpane);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
setTitle("树事件");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400,300);
setVisible(true);
}
public void valueChanged(TreeSelectionEvent e) {
if(e.getSource()==tree){
DefaultMutableTreeNode node=(DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
if(node.isLeaf()){
String str=node.toString();
if(str.equals("Java实例教程")){
text.setText(str+"/n作者:小高 /n清华大学出版社");
}
if(str.equals("JSP大全")){
text.setText(str+"/n作者:张杰 /n清华大学出版社");
}
if(str.equals("Ajax精通")){
text.setText(str+"/n作者:蔡依林 /n清华大学出版社");
}
if(str.equals("中国金融走向")){
text.setText(str+"/n作者:饭岛爱 /n清华大学出版社");
}
if(str.equals("谈商业经济")){
text.setText(str+"/n作者:刘德华 /n清华大学出版社");
}
if(str.equals("经济学")){
text.setText(str+"/n作者:周杰伦 /n清华大学出版社");
}
}
else {
String str=node.toString();
text.setText(str);
}
}
}
public static void main(String[] args) {
new TreeE();
}
}