piechartdemo7.java
来自「Jfreechart 源码例子 是和jfreechart developmen」· Java 代码 · 共 82 行
JAVA
82 行
package demo;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.NumberFormat;
import javax.swing.JPanel;
import javax.swing.Timer;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.plot.PiePlot;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
public class PieChartDemo7 extends ApplicationFrame
{
public PieChartDemo7(String paramString)
{
super(paramString);
setContentPane(createDemoPanel());
}
private static PieDataset createDataset(int paramInt)
{
DefaultPieDataset localDefaultPieDataset = new DefaultPieDataset();
for (int i = 0; i < paramInt; ++i)
{
double d = 100.0D * Math.random();
localDefaultPieDataset.setValue("Section " + i, d);
}
return localDefaultPieDataset;
}
public static JPanel createDemoPanel()
{
PieDataset localPieDataset = createDataset(14);
JFreeChart localJFreeChart = ChartFactory.createPieChart("Pie Chart Demo 7", localPieDataset, false, true, false);
PiePlot localPiePlot = (PiePlot)localJFreeChart.getPlot();
localPiePlot.setCircular(true);
localPiePlot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0} = {2}", NumberFormat.getNumberInstance(), NumberFormat.getPercentInstance()));
localPiePlot.setNoDataMessage("No data available");
ChartPanel localChartPanel = new ChartPanel(localJFreeChart);
localChartPanel.setPreferredSize(new Dimension(500, 270));
Rotator localRotator = new Rotator(localPiePlot);
localRotator.start();
return localChartPanel;
}
public static void main(String[] paramArrayOfString)
{
PieChartDemo7 localPieChartDemo7 = new PieChartDemo7("JFreeChart: PieChartDemo7.java");
localPieChartDemo7.pack();
RefineryUtilities.centerFrameOnScreen(localPieChartDemo7);
localPieChartDemo7.setVisible(true);
}
static class Rotator extends Timer
implements ActionListener
{
private PiePlot plot;
private int angle = 270;
Rotator(PiePlot paramPiePlot)
{
super(100, null);
this.plot = paramPiePlot;
addActionListener(this);
}
public void actionPerformed(ActionEvent paramActionEvent)
{
this.plot.setStartAngle(this.angle);
this.angle += 1;
if (this.angle == 360)
this.angle = 0;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?