Clojureでクラスを拡張する際の問題:ClassFormatError:重複したフィールド名と署名
質問
ClojureでJButtonを拡張しようとしていますが、独自のコンストラクターを作成しようとしたときに問題が発生しました。 :gen-class
で:constructors
を使用するたびに、" ClassFormatError:Duplicate field name& signature"が表示され続けます。クラスをインスタンス化しようとするとメッセージが表示されます。
私は考える Clojureドキュメントを適切にフォローしています。私は何か間違っていますか?
例:
(ns test.gui.button
(:gen-class
:extends javax.swing.JButton
:constructors {[] [String]}
:init init))
(defn -init []
[["Click Me"] nil])
解決
JButton
は、既に init
メソッド。 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])
所属していません StackOverflow