是用javascript写的还是用swing的JTree写的,如果是后者真得很方便。

解决方案 »

  1.   

    列位大哥、大姐,如果只能够提供在树组件上添加右键消息也行!!。
    因为普通的右键消息加不上去。这是普通右键事件:
        class MyMouseEvent extends MouseAdapter
        {
           public void mouseClicked(MouseEvent me)
                {
                  if(me.isMetaDown())//检测鼠标右键单击
                  {
                 popupMenu.show(me.getComponent(),me.getX(),me.getY());
                  } 
                }
        }如何将右键加入JTree?
        class MyMouseEvent extends MouseInputAdapter
        {
           public void mouseClicked(MouseEvent me)
                {
                  if(me.isMetaDown())//检测鼠标右键单击
                  {
                  popupMenu.show(me.getComponent(),me.getX(),me.getY());
                  } 
                }
        }
    这个也不行,错误提示为:addWindowListener<java.awt.event.WindowListener>in java.awt.Window cannot be applied to<TTreeSelectionEvent.MyMouseEvent>
    addWindowListener(new MyMouseEvent());
    好像是说java.awt.Window的消息不能加入,不过MouseInputAdapter这个类是javax.Swing中的,我觉得这个东西很常用,希望能得到帮助!共同进步!!
      

  2.   

    JTree tree = new JTree();
    JPopupMenu popup = new JPopupMenu();
    popup.add....
    .....
    .....
    tree.addMouseListener(new MouseAdapter()
    {
        public void mousePressed(MouseEvent e)
        {
            if (SwingUtilities.isRightMouseButton(e))
                 popup.show(this,e.getX(),e.getY());    }
    });
      

  3.   

    JPopupMenu popup = new JPopupMenu();
    myTree.addMouseListener(new PopupTrigger());

    class PopupTrigger extends MouseAdapter
    {
      public void mouseReleased(MouseEvent e)
      {
        if (e.isPopupTrigger())
        {
          int x = e.getX();
          int y = e.getY();
          TreePath path = myTree.getPathForLocation(x, y);
          if(path!=null){
          //得到当前节点
            DefaultMutableTreeNode node = (DefaultMutableTreeNode)path.getLastPathComponent();
          popup.show(myTree, x, y);
    }
    }
    }
    }