2012-10-15 54 views
1
final PiePlot plot = (PiePlot) chart.getPlot(); 
    for (int i = 0; i < 2; i++) { 
    plot.setSectionPaint(i, color[i]); 
    plot.setSectionPaint(plot.getSectionKey(i), color[i]); 
    } 

我嘗試爲PieChart的部分設置一些其他顏色。如何更改部分的顏色並避免setSectionPaint錯誤/警告消息

setSectionPaint(int, Color)方法已

setSectionPaint(Comparable, Color)方法:因爲plot.getSectionKey(int index)是受保護的,我不能得到一個比較的對象。

有沒有解決方案,所以我可以改變顏色的部分沒有錯誤/警告消息? 或如何檢索可比對象?

回答

1

您需要從數據集中提供正確的Comparable key以調用setSectionPaint()的期望實現。例如,在org.jfree.chart.demo.PieChartDemo1中,以下內容會將部分One設置爲Color.black

plot.setSectionPaint("One", Color.black); 
+0

我已經意識到,setSectionPaint需要一個'可比key'但只有一個方法,可以給這個可比較關鍵的保護,因此,如何動態檢索此項?我是否必須寫它,所以我不能把它放在'for'循環中。 – Manu

+0

這些密鑰位於您的(看不見的)數據集中;你可以循環你選擇導出的任何'Iterable'。 – trashgod