2014-01-17 5 views
1

나는 꼭지점의 색깔을 바꾸려고하는데, 그 중 일부는 화면에 3 가지 색상이 필요하다. 누군가 그 방법을 알아?변화하는 색 구체의 색 정점의 정점

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

을하지만 그것으로 그냥 모든 정점의 색상을 변경할 수 있습니다 나는 그렇게 만들고있어. 나는 그들 중 일부의 색깔을 바꾸고 싶다. 가장자리 만 나가는 것. 나는 하나의 색깔이 필요하고 다른 것은 가장자리가 도착한다. 나는 다른 색깔이 필요하고 나머지는 다른 색깔이 필요하다. 감사!

답변

0

기본적인 아이디어는 정점의 종류를 확인하는 방법의 적절한 구현

Transformer<V, Paint> vertexPaintRed = new Transformer<V, Paint>() { 
    public Paint transform(V input) { 
     if (hasOnlyOutgoingEdges(input)) return Color.RED; 
     if (hasOnlyIncomingEdges(input)) return Color.GREEN; 
     return Color.BLUE; 
    } 
}; 

같은 것을 작성하는 것입니다. 당신은 변압기가 생성 된 장소에서, 정점을 포함하는 정 Graph을 알고있는 경우

예를 들어, 당신은 단순히 쓸 수

Transformer<V, Paint> vertexPaintRed = new Transformer<V, Paint>() { 
    public Paint transform(V input) { 
     if (jungGraph.inDegree(input) == 0) return Color.RED; 
     if (jungGraph.outDegree(input) == 0) return Color.GREEN; 
     return Color.BLUE; 
    } 
};