我试图用Clojure扩展JButton,但是当我尝试创建自己的构造函数时遇到了一个问题。每当我在:constructors
中使用:gen-class
时,当我尝试实例化类时,我总是会收到一条"ClassFormatError:复制的字段名&签名“消息。
我想我正在正确地跟踪Clojure文档。我做错了什么吗?
示例:
(ns test.gui.button
(:gen-class
:extends javax.swing.JButton
:constructors {[] [String]}
:init init))
(defn -init []
[["Click Me"] nil])
发布于 2009-11-07 00:59:21
JButton
扩展了已经有一个受保护的init
方法的javax.swing.AbstractButton
。如果您将Clojure-init函数重命名为(例如,my-init
),那么问题就消失了:
(ns test.gui.button
(:gen-class
:extends javax.swing.JButton
:constructors {[] [String]}
:init my-init))
(defn -my-init []
[["Click Me"] nil])
https://stackoverflow.com/questions/1627747
复制相似问题