2011-02-11 125 views
1

我正在使用Jfree圖表來顯示甘特圖。我必須在一個系列下顯示不同的顏色到子任務。如何設置Jfree甘特圖子任務顏色和標籤

例如,如果我有5個系列任務一:每個任務應該有不同的顏色 另外,我需要爲每個任務打印標籤。

我嘗試了很多方法,但不成功,只能設置系列顏色。

請任何人都可以幫忙。

謝謝。

回答

1

一種方法是在GanttRenderer的子類中覆蓋getItemPaint()。只需爲每個column返回一個不同的顏色。

附錄:

我需要繪製根據任務完成與否無關的列值的子任務。

如果我明白了,如果該列已完成,您將返回完成的顏色;否則返回未完成的顏色。

但是,請您[可以]發送代碼段。

example應該幫助你看到行/列和系列/項目之間的關係。

另外,請你讓我知道如何在子任務上打印標籤。

因爲,一個GanttRenderer是一個IntervalBarRenderer,我想看看一個IntervalCategoryItemLabelGenerator

這不是真的有效。

什麼不工作?你還沒有發佈任何代碼。引用的example是對標準BarChartDemo1的修改;它會產生以下輸出。特別注意有三個系列(參數row),每個系列有五個值(參數col)。 getItemPaint()的執行super只是在一個循環中返回系列塗料。你會重寫這個行爲來做任何你的應用程序需要的。

 
0 0 [email protected] 
1 0 [email protected] 
2 0 [email protected] 
0 1 [email protected] 
1 1 [email protected] 
2 1 [email protected] 
0 2 [email protected] 
1 2 [email protected] 
2 2 [email protected] 
0 3 [email protected] 
1 3 [email protected] 
2 3 [email protected] 
0 4 [email protected] 
1 4 [email protected] 
2 4 [email protected] 
+0

嗨, 我需要繪製根據完成任務的子任務或不能不管列值.. @ trashgold 然而,請ü可以發送代碼片段。 另外,你可以讓我知道如何打印ubstasks上的標籤。 謝謝。 – Med 2011-02-14 15:02:29