我有一个图表,是和JUNG一起做的。现在我想改变特定顶点的颜色。在Java中是这样的:
Transformer<V, Paint> vertexPaintRed = new Transformer<V, Paint>() {
public Paint transform(V input) {
return Color.red;
}
};
vv.getRenderContext().setVertexFillPaintTransformer(vertexColor);当我将其转换为Clojure时
(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
谢谢!
发布于 2017-04-27 05:37:31
我明白了:我将[com.google.guava/guava "21.0"]添加到我的Leiningen依赖项中,在特定的名称空间中导入了com.google.common.base.Function,并更改了
(def vertex-paint (proxy [Transformer] [] (transform [i] java.awt.Color/GREEN)))至
(def vertex-paint (proxy [Function] [] (apply [i] java.awt.Color/GREEN)))Function和apply来自com.google.commom.base.Function。
https://stackoverflow.com/questions/43643707
复制相似问题