2011-02-02 28 views
0

我终于得到了正确编译的代码。但是,有可能。我设置了listbox添加的MouseListener和所有,但我得到一个巨大的错误:JList上的AWT-EventQueue-1

我加了这一点,首先,对代码:listbox.addMouseListener(new MousePopupListener());

,当我运行它,它的工作原理。然而,当我在JList右键单击我得到这个:

Row: 0 
Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException 
    at inv$MousePopupListener.checkPopup(inv.java:91) 
    at inv$MousePopupListener.mouseReleased(inv.java:84) 
    at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:273) 
    at java.awt.Component.processMouseEvent(Component.java:6267) 
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) 
    at java.awt.Component.processEvent(Component.java:6032) 
    at java.awt.Container.processEvent(Container.java:2041) 
    at java.awt.Component.dispatchEventImpl(Component.java:4630) 
    at java.awt.Container.dispatchEventImpl(Container.java:2099) 
    at java.awt.Component.dispatchEvent(Component.java:4460) 
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) 
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) 

    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) 
    at java.awt.Container.dispatchEventImpl(Container.java:2085) 
    at java.awt.Component.dispatchEvent(Component.java:4460) 
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) 
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) 

    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) 

    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) 

这里是我的代码:

}

回答

3

的问题是,你声明弹出作为一个类变量,然后在init方法中创建一个弹出的本地实例。结果是,当您尝试在checkPopup中使用它时,类级别弹出窗口从不设置为任何值并导致NPE。更改行:

JPopupMenu popup = new JPopupMenu(); 

popup = new JPopupMenu(); 

应该解决这个问题。

+0

谢谢!有效!虽然现在我得到这个错误*不是一个更像是警告标志*的错误:http://imgur.com/27wI5 – nn2 2011-02-02 05:13:39