你可以自己继承DefaultMutableTreeNode写一个类,加上属性,就可以判断是叶子还是节点了,
再定义两个菜单不就OK啦。

解决方案 »

  1.   

    我是这样做的,虽然实现了,但是总觉得不妥
    tree.addMouseListener(new MouseAdapter(){
        public void mousePressed(MouseEvent e){
        TreePath pa=selecttreemodel.getSelectionPath();
        if (((DefaultMutableTreeNode)pa.getLastPathComponent()).isLeaf()){          if((e.getModifiers() & MouseEvent.BUTTON3_MASK) != 0){
              p.show(e.getComponent(),e.getX(),e.getY());
              }
        }
            }
     
            }
        });
    正确的做法是什么呢,而且,如果菜单中的事件是在当前增加一个节点或者删除一个节点,菜单的响应事件应该放在哪儿呢