在Clojure中扩展Java Swing类

mik*_*era 8 java inheritance swing clojure

我正在尝试在Clojure中扩展Java Swing组件,即我想扩展javax.swing.JComponent并添加一些在纯Clojure中实现的自定义方法以及所有标准的继承方法.

我尝试使用"代理",如果我只想要一个单独的实例(与匿名内部类相同的方式),它会很有效.但是我真的很喜欢一个命名类,这样我就可以生成任意数量的实例.

建议的方法是什么?

G__*_*G__ 10

使用gen-class(请注意,您可以将其用作内联函数或命名空间声明).

(gen-class :extends javax.swing.JComponent ...)
Run Code Online (Sandbox Code Playgroud)