Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JFreechart图表面板不透明_Java_Swing_Jfreechart - Fatal编程技术网

Java JFreechart图表面板不透明

Java JFreechart图表面板不透明,java,swing,jfreechart,Java,Swing,Jfreechart,我想给图表背景一个透明的外观(不是完全透明,但有点透明)。这是我的密码。我添加了一些代码行来增加透明度,但我猜ChartPanel没有变得透明。在编写这些代码行之后,图表背景显示为灰色 JFreeChart chart = ChartFactory.createPieChart3D( "Full traffic view", pieDataset, true, true, true); PiePlot3D p = (PiePlot3D) chart.getPlot(); PieRen

我想给图表背景一个透明的外观(不是完全透明,但有点透明)。这是我的密码。我添加了一些代码行来增加透明度,但我猜
ChartPanel
没有变得透明。在编写这些代码行之后,图表背景显示为灰色

JFreeChart chart = ChartFactory.createPieChart3D(
    "Full traffic view", pieDataset, true, true, true);

PiePlot3D p = (PiePlot3D) chart.getPlot();

PieRenderer renderer = new PieRenderer(sampleColors);
renderer.setColor(p, pieDataset);
p.setDepthFactor(0.07);
p.setCircular(true);
p.setLabelOutlinePaint(null);
p.setLabelBackgroundPaint(null);
p.setLabelShadowPaint(null);

p.setBackgroundPaint(new Color(127, 127, 127, 64));  // tranparency code
p.setBackgroundImageAlpha(0.0f);

p.setSimpleLabels(true);
p.setLabelGenerator(null);
p.setBackgroundPaint(
new GradientPaint(0, 0, Color.white, 0, 100, Color.white));
p.setDarkerSides(true);
ChartPanel frame1 = new ChartPanel(chart);
ChartPanel.setVisible(true);
ChartPanel.add(frame1);

ChartPanel.setSize(640, 400);

因为这可能相当依赖于平台和版本,所以您可以查看
绘图以获得所需的效果。

我遇到了类似的问题,但在我将背景图像设置为0.0f(即

setBacgroundImageAlpha(0.0f)。因为它设置了绘制背景图像时使用的alpha透明度

alpha透明度(在0.0f到1.0f范围内,其中0.0f完全透明,1.0f完全不透明)

这是因为PNG(便携式网络图形)格式支持alpha通道透明度。

我发现你的代码和我的代码唯一的区别是

p、 setBackgroundPaint(新颜色(127、127、127、64));//你的交易代码


p、 立根底色漆(新颜色(255255,0));//我的透明代码

我发现我必须为图表和绘图使用透明颜色:

val trans = new Color(0xFF, 0xFF, 0xFF, 0)
chart.setBackgroundPaint(trans)
plot .setBackgroundPaint(trans)
没有你的帮助,我们只能猜测什么是灰色,为什么是灰色。