应该在MouseEvent里判断选定的节点。   //在树上加鼠标事件
   tree.addMouseListener(new MouseAdapter() {
      public void mouseReleased(MouseEvent me) {
        showPopupMenu(me);
      }
    });
   private void showPopupMenu(MouseEvent me) {
       if(me.isPopupTrigger()) {
           //得到选定的行号
           int nTreeRow = tree.getRowForLocation(me.getX(), me.getY());
           //选中那一行
           tree.setSelectionRow(nTreeRow);
           //根据选中的行得到树节点
           DefaultMutableTreeNode treeNode 
               = new DefaultMutableTreeNode(tree.getSelectionPath());
            
           ........//根据树节点来弹出与各节点有关的菜单
    }
   }