2017-04-26 2 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

감사합니다 이런 일이 될 것입니다 자바에서 ! 내가 특정 네임 스페이스 내 Leiningen에 수입 com.google.common.base.Function[com.google.guava/guava "21.0"] 종속성 추가

(def vertex-paint (proxy [Function] [] (apply [i] java.awt.Color/GREEN))) 

기능에

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

을 변경하고 com.google에서 유래 적용

답변

1

나는 그것을 얻었다. commom.base.Function.