Java Clojure代码调用JPanel函数时为什么会出现nullPointerException?

Java Clojure代码调用JPanel函数时为什么会出现nullPointerException?,java,swing,clojure,runtimeexception,Java,Swing,Clojure,Runtimeexception,我很难确定为什么我的代码会出现null指针异常。我正在尝试使用Java和Clojure的组合编写一个swing应用程序。我有一个Clojure函数,它在我的JPanel子类中调用一个函数,我得到了很多异常,这些异常让我发疯 我已经尽可能地简化了我的代码,但仍然会遇到这些错误 (defn draw-state "Draws the current state." [state display] (do-swing (.drawBlocks display))) 下面是整个JPanel

我很难确定为什么我的代码会出现null指针异常。我正在尝试使用Java和Clojure的组合编写一个swing应用程序。我有一个Clojure函数,它在我的JPanel子类中调用一个函数,我得到了很多异常,这些异常让我发疯

我已经尽可能地简化了我的代码,但仍然会遇到这些错误

(defn draw-state
  "Draws the current state."
  [state display]
  (do-swing (.drawBlocks display)))
下面是整个JPanel子类,尽管我认为唯一相关的部分是drawBlocks函数(它最终将替换blocks数组):

}

和堆栈跟踪:

Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: java.lang.NullPointerException
at clojure.lang.AFn.run(AFn.java:28)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at clojure.lang.Reflector.invokeNoArgInstanceMember(Reflector.java:263)
at core$draw_state$fn__401.invoke(core.clj:43)
at clojure.lang.AFn.run(AFn.java:24)
... 8 more
我有种感觉,我错过了一些非常明显的东西,我非常感谢任何帮助


谢谢

调用绘图状态的代码如何?是否有可能传入null以显示?

调用
绘图状态的代码如何?是否有可能传入
null以显示
呢?什么是
状态
?叹息显示被传递为null。谢谢你让我注意到。是的。有两个小时我再也回不来了。
Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: java.lang.NullPointerException
at clojure.lang.AFn.run(AFn.java:28)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at clojure.lang.Reflector.invokeNoArgInstanceMember(Reflector.java:263)
at core$draw_state$fn__401.invoke(core.clj:43)
at clojure.lang.AFn.run(AFn.java:24)
... 8 more