package jfreechart_demo; import org.jfree.chart.*; import org.jfree.chart.block.*; import org.jfree.chart.labels.*; import org.jfree.chart.plot.*; import org.jfree.chart.urls.*; import org.jfree.data.general.*; import org.jfree.ui.*; import java.awt.*; import java.awt.geom.*; import java.awt.image.*; import java.io.*; import javax.imageio.*; import jp.ujihara.jsharp.awt.Color; // rescript java.awt.Color when it is run on Java. public class PieChart3DDemo2 extends ChartCreator { public JFreeChart createChart() { PieDataset dataset = DatasetCreator.createPieDataset(); PiePlot3D plot = new PiePlot3D(dataset); plot.setLabelBackgroundPaint(Color.cyan); plot.setBackgroundPaint(Color.white); try { BufferedImage bi = ImageIO.read(ClassLoader.getSystemResourceAsStream("jfreechart_demo/Web.png")); TexturePaint tp = new TexturePaint(bi, new Rectangle2D.Float(0, 0, 16, 16)); plot.setSectionPaint(0, tp); } catch (IOException ioe) { } plot.setSectionPaint(1, new Color(1f, 1f, 0f)); plot.setSectionPaint(2, new GradientPaint(200, 200, Color.blue, 400, 400, Color.red)); plot.setSectionPaint(3, new Color(0f, 1f, 1f, 0.5f)); plot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator("{0}")); plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{1}")); JFreeChart chart = new JFreeChart(getName(), JFreeChart.DEFAULT_TITLE_FONT, plot, true); chart.setBackgroundPaint(Color.white); chart.getLegend().setPosition(RectangleEdge.TOP); chart.getLegend().setBorder(BlockBorder.NONE); return chart; } }