如题

解决方案 »

  1.   

    对树的TreeNode结点注册mouseCliked事件处理函数.
      

  2.   

    i think you need popup menu. there is such a class in java swing.
      

  3.   

    刚好手头有个例子,希望对你有帮助//......
    //......
         tree.addMouseListener(new MouseAdapter()
          {
              public void mousePressed(MouseEvent event)
              {
                  if(((event.getModifiers() & InputEvent.BUTTON3_MASK)!=0) && (tree.getSelectionCount()>0))
                  {
                     showMenu(event.getX(),event.getY());
                  }
              }
          }
         );
       
       }
       
       protected void showMenu(int x,int y)
       {
          JPopupMenu popup=new JPopupMenu();
          JMenuItem mi=new JMenuItem("do something");
          TreePath path=tree.getSelectionPath();
          Object node=path.getLastPathComponent();
          if(node==tree.getModel().getRoot())
          {
            mi.setEnabled(false);
          }
          popup.add(mi);
          mi.addActionListener(new ActionListener()
             {
                 public void actionPerformed(ActionEvent event)
                 {
                     //do your work here
                 }
             }
          )   
          ;
         popup.show(tree,x,y);   
       }
      

  4.   

    midlet 的 e 文好棒!