import java.awt.Color;
import java.awt.Font;
import javax.swing.JFrame;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.general.DatasetUtilities;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RectangleEdge;
import org.jfree.ui.VerticalAlignment;
public class GUI extends ApplicationFrame {
	private static final long serialVersionUID = 1L;
	public GUI(final String title) {
		super(title);
		setTitle("Anwendung");
        final double[][] data = new double[][] {
            {1.0, 4.0, 3.0, 5.0, 5.0, 7.0, 7.0, 8.0},
            {5.0, 7.0, 6.0, 8.0, 4.0, 4.0, 2.0, 1.0},
            {4.0, 3.0, 2.0, 3.0, 6.0, 3.0, 4.0, 3.0}
        };
        final CategoryDataset dataset = DatasetUtilities.createCategoryDataset(
            "Series ", "Type ", data
        );
		final JFreeChart chart = createChart(dataset);
		final ChartPanel chartPanel = new ChartPanel(chart);
		setContentPane(chartPanel);
		setExtendedState(JFrame.MAXIMIZED_BOTH);
		setVisible(true);
	}
	
	public static void main(String[] args) {
		new GUI("Hallo JFreeChart");
	}
	 private JFreeChart createChart(final CategoryDataset dataset) {
         
	        final JFreeChart chart = ChartFactory.createAreaChart(
	            "Area Chart",             
	            "Category",               
	            "Value",                  
	            dataset,                  
	            PlotOrientation.VERTICAL, 
	            true,                     
	            true,                     
	            false                    
	        );
	 
	        chart.setBackgroundPaint(Color.white);
	        final TextTitle subtitle = new TextTitle("An area chart demonstration.  We use this "
	            + "subtitle as an example of what happens when you get a really long title or "
	            + "subtitle.");
	        subtitle.setFont(new Font("SansSerif", Font.PLAIN, 12));
	        subtitle.setPosition(RectangleEdge.TOP);
	        subtitle.setVerticalAlignment(VerticalAlignment.BOTTOM);
	        chart.addSubtitle(subtitle);
	        final CategoryPlot plot = chart.getCategoryPlot();
	        plot.setForegroundAlpha(0.5f);
	        plot.setBackgroundPaint(Color.lightGray);
	        plot.setDomainGridlinesVisible(true);
	        plot.setDomainGridlinePaint(Color.white);
	        plot.setRangeGridlinesVisible(true);
	        plot.setRangeGridlinePaint(Color.white);
	        
	        final CategoryAxis domainAxis = plot.getDomainAxis();
	        domainAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
	        domainAxis.setLowerMargin(0.0);
	        domainAxis.setUpperMargin(0.0);
	        domainAxis.addCategoryLabelToolTip("Type 1", "The first type.");
	        domainAxis.addCategoryLabelToolTip("Type 2", "The second type.");
	        domainAxis.addCategoryLabelToolTip("Type 3", "The third type.");
	        
	        final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
	        rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
	        rangeAxis.setLabelAngle(0 * Math.PI / 2.0);
	        
	        return chart;
	    }
}