【发布时间】:2010-06-16 20:45:36
【问题描述】:
我正在使用“代理”在 Clojure GUI 应用程序中扩展各种 Swing 类,通常使用如下代码:
(def ^JPanel mypanel
(proxy [JPanel] []
(paintComponent [#^Graphics g]
(.drawImage g background-image 0 0 nil))))
这很好用,但我不知道如何向新扩展的类添加其他字段,例如使背景图像成为可以随后更新的字段。这在 Java 中是非常简单和常见的做法。
在 Clojure 中是否有很好的方法来做到这一点?或者有没有其他首选方法可以达到同样的效果?
【问题讨论】:
-
无耻的自我推销:我 wrote a blog post 不久前谈到了代理及其陷阱。
-
谢谢 - 非常有用的指南!
标签: java swing proxy clojure extends