我正在尝试使用 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))