NullPointerExceptionに遭うコード
最近悩んでる問題。
(import '[javax.media.opengl GLCapabilities GLProfile] '[com.jogamp.newt.event WindowAdapter] '[com.jogamp.newt.opengl GLWindow] '[com.jogamp.opengl.util FPSAnimator]) (def window (-> (GLProfile/getDefault) (GLCapabilities.) (GLWindow/create))) (def animator (FPSAnimator. window 1)) (doto window (.addWindowListener (proxy [WindowAdapter] [] (windowDestroyNotify [e] (.start (proxy [Thread] [] (run [] (.stop animator) (System/exit 0))))))) (.setVisible true)) (.start animator)
これをclj-env-dirの類で起動して、ウィンドウを閉じようとするとFPSAnimator.pauseからNullPointerExceptionが飛んでくる。
addWindowListener部分はあってもなくてもいい。
等価なJavaコードでも同じ例外が起こるので、Clojureの問題ではない。
「ここが悪い」「自分の環境では例外が起きない」など、なにか情報があればぜひ教えてください。
よろしくお願いします。