私は「プロキシ」を使用して、Clojure GUIアプリケーションでさまざまなSwingクラスを拡張しています。通常、次のようなコードを使用しています。
(def ^JPanel mypanel
(proxy [JPanel] []
(paintComponent [#^Graphics g]
(.drawImage g background-image 0 0 nil))))
これはうまく機能しますが、新しく拡張されたクラスにフィールドを追加する方法がわかりません。たとえば、background-imageを後で更新できるフィールドにするなどです。これは、Javaでは非常に簡単で一般的な方法です。
Clojureでこれを行う良い方法はありますか?または、同じ効果を達成するための別の好ましい方法はありますか?