如何用java 在树的结点上做右键事件?

解决方案 »

  1.   

    tree.addTreeSelectionListener(new
             TreeSelectionListener()
             {
                public void valueChanged(TreeSelectionEvent event)
                {}
             });
      

  2.   

    用此方法:
    tree.addTreeSelectionListener(new
             TreeSelectionListener()
             {
                public void valueChanged(TreeSelectionEvent event)
                {}
             });
    只能做左键事件啊?
    我想在节点上做右键菜单。
      

  3.   

    tree.addMouseListener( new MouseAdapter(){
    public void mouseClicked( MouseEvent e ){
    popupMenu.show(.....);
    }
    } );
      

  4.   


    用以下方法并不能将事件源精确到树的节点上噢,而是在整个树上
    tree.addMouseListener( new MouseAdapter(){
    public void mouseClicked( MouseEvent e ){
    popupMenu.show(.....);
    }
    } );
      

  5.   

    jPopupMenu.setInvoker(jTreeWSA);
        jTreeWSA.add(jPopupMenu);
        jTreeWSA.addMouseListener(new java.awt.event.MouseAdapter() {
          public void mousePressed(MouseEvent e) {
            jTreeWSA_mousePressed(e);
          }
        });void jTreeWSA_mousePressed(MouseEvent e) {
        // jTabbedPane1.setSelectedComponent(jPanelDBAInfo);
        if (e.getModifiers() == Event.META_MASK) {
          jPopupMenu.show(jTreeWSA, e.getX(), e.getY());
        }
      }
    选择的节点变化了valueChanged就触发:
    tree.addTreeSelectionListener(new
    TreeSelectionListener()
    {
    public void valueChanged(TreeSelectionEvent event)
    {}
    });TreePath path = jTreeWSA.getSelectionPath();得到当前选择的节点路径