2010-01-25 83 views
1

我在使用JUNG時遇到了問題。我想繪製一個網絡圖,其中頂點將具有不同的形狀和顏色,邊線將以不同的顏色虛線或全線。如何使用JUNG對頂點和邊緣進行着色和形狀

由於我是Java新手,我無法瞭解jung的實際架構。當我使用setVertexFillPaintTransformer時,它使用相同的顏色爲所有頂點着色。頂點存儲在一個整數數組中。現在我已經過去了一個禮拜了。 PLZ如果有人可以幫助我,或有一定的反問題,不要問我

回答

3

的方法setVertexFillPaintTransformer發生在一個頂點轉換成彩色的變壓器。所以爲了讓不同的頂點具有不同的顏色,你需要讓它檢查頂點。該方法中的參數,公共油漆變換(整數i)爲頂點,這樣可以提供一個基於頂點顏色(或)。例如,如果我有一個圖,其中的頂點分別爲一個整數,我可以循環通過提供以下變壓器分配三種不同的顏色,以頂點至setVertexFillPaintTransformer

Transformer<Integer, Paint> vertexPaint = new Transformer<Integer, Paint>() { 
    private final Color[] palette = {Color.GREEN, Color.BLUE, Color.RED}; 

    public Paint transform(Integer i) { 
     return palette[i.intValue() % palette.length]; 
    } 
};