我正在 SWT 中使用 JFreeChart,并希望按照描述为 DialPlot 设置渐变背景 here 。 但我总是得到白色背景。
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);
对我做错了什么有什么建议吗?
最佳答案
目前尚不清楚您的片段哪里出了问题。从这个 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 桥或代码中其他地方的问题。
关于java - JFreeChart DialPlot 的渐变背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42782051/