我正在尝试使用Clojure中的Swing,但我被gen-class搞糊涂了,从文档中我不知道这是否可以工作- paintComponent是JPanel上的一个受保护的方法,我可以覆盖它,但当我尝试调用公开的超类的方法时,我得到的是java.lang.IllegalArgumentException: No matching method found: parentPaintComponent for class project.PicturePanel。谁能解释一下为什么我似乎不能访问这个方法?
(ns project.PicturePanel
(:gen-class
:extends javax.swing.JPanel
:name project.PicturePanel
:exposes-methods {paintComponent parentPaintComponent}))
(defn -paintComponent [this g]
(println this)
(println g)
(.parentPaintComponent this g))发布于 2013-05-29 09:20:23
是!如果您确保已编译的.class文件是最新的,则代码可以正常工作。尝试重新编译它们!
https://stackoverflow.com/questions/16798159
复制相似问题