0
我試着通過創建子類覆蓋的XYLineAndShapeRenderer
的getItemPaint()
方法:ClassCastException異常試圖延長XYLineAndShapeRenderer(JFreeChart的)時
private class MultiRenderer extends XYLineAndShapeRenderer{
@Override
public Paint getItemPaint(int row, int column) {
if(row==2){
float x = getAmplitude()[column];
return floatToColor(x);
}
return super.getItemPaint(row, column);
}
private Color floatToColor(float val){...}
}
,並呼籲:
XYPlot xyPlot = (XYPlot) myJFreeChartObject.getPlot();
MultiRenderer r = (MultiRenderer) xyPlot.getRenderer();
但即時得到一個ClassCastException
。 有沒有一種方法可以正確地轉換或覆蓋getItemPaint
而不創建子類?我試圖繪製2系列作爲常規線圖和第三系列沒有一條線和不同的顏色點。前兩個系列應該有一條線,但沒有點標記。
注getAmplitude()
只是返回浮點數的0和1
在你的榜樣,我不能看到'xyPlot .setRenderer(新MultiRenderer());'你可以prived一個[SSCCE(http://sscce.org/ ) – GrahamA