在JPanel中添加JTree,在JTree中的子节点中添加监听ActionListener

解决方案 »

  1.   

    我在JPanel中添加了一个JTree,那如何在JTree中的子节点中添加监听ActionListener
      

  2.   

    http://www.diybl.com/course/3_program/java/javajs/2007114/83434.html还有其他监听器, 搜一下
      

  3.   

    http://topic.csdn.net/t/20050113/22/3724108.html
      

  4.   

    给JTree添加监听,然后判断最后选中的节点
    或者很据鼠标的位置判断节点
      

  5.   

    MyTreeListener mtl = new MyTreeListener();jtree.addTreeSelectionListener(mtl);
    jtree.addTreeExpansionListener(mtl);private class MyTreeListener implements TreeExpansionListener,
        TreeModelListener, TreeSelectionListener {}用这个类就好了
      

  6.   

    那在
    public void valueChanged(TreeSelectionEvent e) {

    }
    这个方法中如何判断监听不同的对象啊import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.TreeExpansionListener;
    import javax.swing.event.TreeModelListener;
    import javax.swing.event.TreeSelectionListener;
    import javax.swing.tree.*;import javax.swing.event.TreeExpansionEvent;
    import javax.swing.event.TreeExpansionListener;
    import javax.swing.event.TreeModelEvent;
    import javax.swing.event.TreeModelListener;
    import javax.swing.event.TreeSelectionEvent;
    import javax.swing.event.TreeSelectionListener;public class TreeDemo2 implements TreeExpansionListener, TreeModelListener, TreeSelectionListener{
    JFrame f=new JFrame("TreeDemo2");
        Container contentPane=f.getContentPane();
        
        DefaultMutableTreeNode root=new DefaultMutableTreeNode("资源管理器");
        DefaultMutableTreeNode node1=new DefaultMutableTreeNode("基础信息管理");
        DefaultMutableTreeNode node2=new DefaultMutableTreeNode("商品入库管理");
        DefaultMutableTreeNode node3=new DefaultMutableTreeNode("销售管理");
        DefaultMutableTreeNode node4=new DefaultMutableTreeNode("库存管理");
        DefaultMutableTreeNode node5=new DefaultMutableTreeNode("系统管理");
        DefaultMutableTreeNode node6=new DefaultMutableTreeNode("帮助");
        
        DefaultMutableTreeNode leafnode=new DefaultMutableTreeNode("供应商管理");
        DefaultMutableTreeNode leafnode1=new DefaultMutableTreeNode("商品类别管理");
        DefaultMutableTreeNode leafnode2=new DefaultMutableTreeNode("商品信息管理");
        
        DefaultMutableTreeNode leafnode3=new DefaultMutableTreeNode("商品订单");
        DefaultMutableTreeNode leafnode4=new DefaultMutableTreeNode("商品退单");
        DefaultMutableTreeNode leafnode5=new DefaultMutableTreeNode("商品入库单");
        DefaultMutableTreeNode leafnode6=new DefaultMutableTreeNode("商品入库统计");
        
        DefaultMutableTreeNode leafnode7=new DefaultMutableTreeNode("商品销售单");
        
        DefaultMutableTreeNode leafnode8=new DefaultMutableTreeNode("库存统计");
        
        DefaultMutableTreeNode leafnode9=new DefaultMutableTreeNode("员工信息和密码");
        
        DefaultMutableTreeNode leafnode10=new DefaultMutableTreeNode("帮助和支持中心(F1)");
        DefaultMutableTreeNode leafnode11=new DefaultMutableTreeNode("关于我们");
        
      public TreeDemo2(){
        
        root.add(node1);
        root.add(node2);
        root.add(node3);
        root.add(node4);
        root.add(node5);
        root.add(node6);
       
        node1.add(leafnode);
        node1.add(leafnode1);
        node1.add(leafnode2);
        
        node2.add(leafnode3);
        node2.add(leafnode4);
        node2.add(leafnode5);
        node2.add(leafnode6);
        
        node3.add(leafnode7);
        
        node4.add(leafnode8);
        
        node5.add(leafnode9);
        
        node6.add(leafnode10);
        node6.add(leafnode11);    JTree tree=new JTree(root); tree.addTreeSelectionListener(this); 
    tree.addTreeExpansionListener(this); 

        JScrollPane scrollPane=new JScrollPane();
        scrollPane.setViewportView(tree);
        contentPane.add(scrollPane);
       f.setSize(300,300);
       f.setVisible(true);
      }
      public static void main(String[] args){
      TreeDemo2 td=new TreeDemo2();
      }
    public void treeCollapsed(TreeExpansionEvent event) {
    // TODO 自动生成方法存根

    }
    public void treeExpanded(TreeExpansionEvent event) {
    // TODO 自动生成方法存根

    }
    public void treeNodesChanged(TreeModelEvent e) {
    // TODO 自动生成方法存根

    }
    public void treeNodesInserted(TreeModelEvent e) {
    // TODO 自动生成方法存根

    }
    public void treeNodesRemoved(TreeModelEvent e) {
    // TODO 自动生成方法存根

    }
    public void treeStructureChanged(TreeModelEvent e) {
    // TODO 自动生成方法存根

    }
    public void valueChanged(TreeSelectionEvent e) {
    //  TODO 自动生成方法存根
    }  
    }