2017-03-14 52 views
1

我在SWT中使用JFreeChart,並想要如here所述設置漸變背景到DialPlot。 但我總是得到一個白色的背景。JFreeChart DialPlot GradientBackground

GradientPaint gradient = new GradientPaint(new Point(), Color.white, new Point(), Color.darkGray); 
DialBackground background = new DialBackground(gradient); 
background.setGradientPaintTransformer(new StandardGradientPaintTransformer(GradientPaintTransformType.VERTICAL)); 

StandardDialFrame frame = new StandardDialFrame(); 
frame.setBackgroundPaint(Color.lightGray); 
frame.setForegroundPaint(Color.darkGray); 

// some layers 

DialPlot plot = new DialPlot(getDataset()); 
plot.setDialFrame(frame); 
plot.setBackground(background); 

The resulting plot.

的什麼,我做錯了什麼建議?

回答

1

目前尚不清楚你的片段在哪裏出錯。從這個搖擺example開始,在buildDialPlot()以下變化似乎工作:

private ChartPanel buildDialPlot(int minimumValue, int maximumValue, int majorTickGap) { 
    … 
    GradientPaint gradient = 
     new GradientPaint(new Point(), Color.white, new Point(), Color.gray); 
    DialBackground background = new DialBackground(gradient); 
    background.setGradientPaintTransformer(
     new StandardGradientPaintTransformer(GradientPaintTransformType.VERTICAL)); 
    plot.setBackground(background); 

    return new ChartPanel(new JFreeChart(plot)) {…}; 
} 

image

這可能是在SWT橋或其他地方在你的代碼中的問題。