2017-04-26 3 views
0

私はJUNGで構築されたグラフを持っています。 今、私は特定の頂点の色を変更したいと思います。私はClojureのClojure JUNG setVertexFillPaintTransformer

(def vertex-paint (proxy [Transformer] [] (transform [i] java.awt.Color/GREEN))) 
(.setVertexFillPaintTransformer vertex-paint) 

にこれを変換するとき

Transformer<V, Paint> vertexPaintRed = new Transformer<V, Paint>() { 
    public Paint transform(V input) { 
     return Color.red; 
    } 
}; 

vv.getRenderContext().setVertexFillPaintTransformer(vertexColor); 

は次の例外がスローされます: 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

ありがとうこのようなものになるだろうJavaでは !

答えて

1

私はそれを得た: 私はLeiningenをに[com.google.guava/guava "21.0"]を追加しましたが、特定の名前空間 で 輸入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))) 

に機能を変更し、適用com.googleから来ています。 commom.base.Function。