我在SWT中使用JFreeChart,并希望按照here所述为DialPlot设置渐变背景。 但我总是得到白色背景。
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);
对我做错了什么建议?
答案 0 :(得分:1)
目前尚不清楚你的片段出错了。从此Swing 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)) {…};
}
这可能是SWT桥或代码中其他位置的问题。