滴水穿石,厚积薄发

每天收集点,知识也就是财富。

简单树事件

 

 

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

}

阅读更多
个人分类: java
想对作者说点什么? 我来说一句

easydraw事故树分析软件

2013年05月28日 336KB 下载

树的添加事件

2008年01月02日 55KB 下载

wpf简单使用

2017年03月14日 97KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭