根据上次帖里的各位高手指点,我抱着试一试的态度下载了VE,(希望大家不要怪我整天问图形界面的问题!现在确实还没有能力往深度的东西“玩”),发觉界面确实很不错,后来,听说有JBuilder2007(消息收的晚,见谅!)本着对JBuilder的感情,禁不起诱惑又下载了,界面的问题网上已经有很多争议了,这里我也不多说什么了。    下面是正题,上面的不看也行。(呵呵~)我用JBuilder2007制作鼠标右键弹出菜单这个功能的时候,发现居然抛出了NULLPOINTException异常,用e.getMessage()发现是null。我觉得很纳闷,不知道为什么会这样?    为了让各位高手了解那时的情况,我先说下当时的情况,我对一个panel使用鼠标单击事件,然后输入了如下代码:     if(e.getButton() == 3){  //按下鼠标右键时为真
           popMnu.show(panel,e.getX(),e.getY());  //popMnu是我给弹出菜单组件起的名字,panel是容器的名字
     }请问,究竟是什么原因会出现异常?请各位为我诊断一下!

解决方案 »

  1.   

            if(e.isPopupTrigger())
            {
                jPopupMenu1.show(e.getComponent(),e.getX(),e.getY());
            }好像应该这样写吧,我这样写的通过了
      

  2.   

    那你把那个JPopMenu放在哪里呢?
      

  3.   

    我以前做过双击的,你可以当作参考一下~~~
    tree1.addMouseListener(new java.awt.event.MouseAdapter() {
    // public void mousePressed(MouseEvent e) {
    // maybeShowPopup(e);
    // }
    public void mouseReleased(MouseEvent e) {
    // maybeShowPopup(e);
    } public void mouseClicked(MouseEvent e) {
    if (e.getClickCount() == 2) {
    maybeOpenTabbedPane(e);
    }
    } private void maybeOpenTabbedPane(MouseEvent e) {
                                      //实现你三击要做的事情

    }
    });