Расширение класса Java Swing в Clojure - PullRequest
8 голосов
/ 02 июня 2010

Я пытаюсь расширить компонент Java Swing в Clojure, т.е. я хочу расширить javax.swing.JComponent и добавить несколько пользовательских методов, реализованных в чистом Clojure, в дополнение ко всем стандартным унаследованным методам.

Я попытался использовать «прокси», который прекрасно работает, если я просто хочу один экземпляр (так же, как анонимный внутренний класс). Однако мне бы очень хотелось именованный класс, чтобы я мог генерировать произвольное количество экземпляров.

Какой рекомендуемый способ сделать это?

1 Ответ

10 голосов
/ 02 июня 2010

Используйте gen-class (обратите внимание, что вы можете использовать его как встроенную функцию или в объявлении пространства имен).

(gen-class :extends javax.swing.JComponent ...)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...