首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Clojure JUNG setVertexFillPaintTransformer

Clojure JUNG setVertexFillPaintTransformer
EN

Stack Overflow用户
提问于 2017-04-27 04:13:03
回答 1查看 71关注 0票数 0

我有一个图表,是和JUNG一起做的。现在我想改变特定顶点的颜色。在Java中是这样的:

代码语言:javascript
复制
    Transformer<V, Paint> vertexPaintRed = new Transformer<V, Paint>() {
    public Paint transform(V input) {
         return Color.red;
    }
};

vv.getRenderContext().setVertexFillPaintTransformer(vertexColor);

当我将其转换为Clojure时

代码语言:javascript
复制
(def vertex-paint (proxy [Transformer] [] (transform [i] java.awt.Color/GREEN)))
(.setVertexFillPaintTransformer vertex-paint)

抛出以下异常:Exception in thread "JavaFX Application Thread" java.lang.ClassCastException: Cannot cast tableau.tableau.proxy$java.lang.Object$Transformer$4341005c to com.google.common.base.Function

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2017-04-27 05:37:31

我明白了:我将[com.google.guava/guava "21.0"]添加到我的Leiningen依赖项中,在特定的名称空间中导入了com.google.common.base.Function,并更改了

代码语言:javascript
复制
(def vertex-paint (proxy [Transformer] [] (transform [i] java.awt.Color/GREEN)))

代码语言:javascript
复制
(def vertex-paint (proxy [Function] [] (apply [i] java.awt.Color/GREEN)))

Function和apply来自com.google.commom.base.Function。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43643707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档