mikera
mikera

Reputation: 106351

Extending a Java Swing class in Clojure

I'm trying to extend a Java Swing component in Clojure, i.e. I want to extend a javax.swing.JComponent and add some custom methods implemented in pure Clojure in addition to all the standard inherited methods.

I've tried using "proxy" which works great if I just want a single instance (in the same way as an anonymous inner class). However I'd really like a named class so that I can generate an arbitrary number of instances.

What's the recommended way of doing this?

Upvotes: 8

Views: 1178

Answers (1)

G__
G__

Reputation: 7111

Use gen-class (note that you can use it as an in-line function or in the namespace declaration).

(gen-class :extends javax.swing.JComponent ...)

Upvotes: 10

Related Questions