frametest.java

来自「jfreechart不错的教程例子谢谢!」· Java 代码 · 共 109 行

JAVA
109
字号
package org.jfree.chart.demo;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.LineAndShapeRenderer;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;

public class FrameTest extends ApplicationFrame {
	public FrameTest(final String title) {

		super(title);

		final CategoryDataset dataset = createDataset();
		final JFreeChart chart = createChart(dataset);
		final ChartPanel chartPanel = new ChartPanel(chart);
		chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
		setContentPane(chartPanel);

	}

	private CategoryDataset createDataset() {

		//   row   keys...   
		final String series1 = "First";
		final String series2 = "Second";
		final String series3 = "Third";

		//   column   keys...   
		final String type1 = "Type   1";
		final String type2 = "Type   2";
		final String type3 = "Type   3";
		final String type4 = "Type   4";
		final String type5 = "Type   5";
		final String type6 = "Type   6";
		final String type7 = "Type   7";
		final String type8 = "Type   8";

		//   create   the   dataset...   
		final DefaultCategoryDataset dataset = new DefaultCategoryDataset();

		dataset.addValue(1.0, series1, type1);
		dataset.addValue(4.0, series1, type2);
		dataset.addValue(3.0, series1, type3);
		dataset.addValue(5.0, series1, type4);
		dataset.addValue(5.0, series1, type5);
		dataset.addValue(7.0, series1, type6);
		dataset.addValue(7.0, series1, type7);
		dataset.addValue(8.0, series1, type8);

		dataset.addValue(5.0, series2, type1);
		dataset.addValue(7.0, series2, type2);
		dataset.addValue(6.0, series2, type3);
		dataset.addValue(8.0, series2, type4);
		dataset.addValue(4.0, series2, type5);
		dataset.addValue(4.0, series2, type6);
		dataset.addValue(2.0, series2, type7);
		dataset.addValue(1.0, series2, type8);

		dataset.addValue(4.0, series3, type1);
		dataset.addValue(3.0, series3, type2);
		dataset.addValue(2.0, series3, type3);
		dataset.addValue(3.0, series3, type4);
		dataset.addValue(6.0, series3, type5);
		dataset.addValue(3.0, series3, type6);
		dataset.addValue(4.0, series3, type7);
		dataset.addValue(3.0, series3, type8);

		return dataset;

	}

	private JFreeChart createChart(final CategoryDataset dataset) {

		//   create   the   chart...   
		final JFreeChart chart = ChartFactory.createLineChart(
				"Line   Chart   Demo   5", //   chart   title   
				"Type", //   domain   axis   label   
				"Value", //   range   axis   label   
				dataset, //   data   
				PlotOrientation.HORIZONTAL, //   orientation     //这里如果换成VERTICAL就没问题   
				true, //   include   legend   
				true, //   tooltips   
				false //   urls   
				);
		final CategoryPlot plot = chart.getCategoryPlot();
		final LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot
				.getRenderer();
		//renderer.setDrawShapes(true);
		renderer.setItemLabelsVisible(true);
		//renderer.setLabelGenerator(new StandardCategoryLabelGenerator());
		return chart;
	}

	public static void main(final String[] args) {

		final FrameTest demo = new FrameTest("Dynamic   Data   Demo");
		demo.pack();
		RefineryUtilities.centerFrameOnScreen(demo);
		demo.setVisible(true);

	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?