简单树事件

 

 

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();
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值