나는 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에서 유래 적용