Может ли gen-class переопределить защищенный метод Java?
Я пытаюсь использовать Swing от Clojure, и меня смущает 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))
1 ответ
Да! Код работает правильно, если вы убедитесь, что ваши скомпилированные файлы.class обновлены. Попробуйте перекомпилировать их!