001: /***********************************************************************************************
002: * File Info: $Id: SwingTest.java,v 1.1 2003/05/17 17:01:14 nathaniel_auvil Exp $
003: * Copyright (C) 2002
004: * Author: Nathaniel G. Auvil
005: * Contributor(s):
006: *
007: * Copyright 2002 (C) Nathaniel G. Auvil. All Rights Reserved.
008: *
009: * Redistribution and use of this software and associated documentation ("Software"), with or
010: * without modification, are permitted provided that the following conditions are met:
011: *
012: * 1. Redistributions of source code must retain copyright statements and notices.
013: * Redistributions must also contain a copy of this document.
014: *
015: * 2. Redistributions in binary form must reproduce the above copyright notice, this list of
016: * conditions and the following disclaimer in the documentation and/or other materials
017: * provided with the distribution.
018: *
019: * 3. The name "jCharts" or "Nathaniel G. Auvil" must not be used to endorse or promote
020: * products derived from this Software without prior written permission of Nathaniel G.
021: * Auvil. For written permission, please contact nathaniel_auvil@users.sourceforge.net
022: *
023: * 4. Products derived from this Software may not be called "jCharts" nor may "jCharts" appear
024: * in their names without prior written permission of Nathaniel G. Auvil. jCharts is a
025: * registered trademark of Nathaniel G. Auvil.
026: *
027: * 5. Due credit should be given to the jCharts Project (http://jcharts.sourceforge.net/).
028: *
029: * THIS SOFTWARE IS PROVIDED BY Nathaniel G. Auvil AND CONTRIBUTORS ``AS IS'' AND ANY
030: * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
031: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
032: * jCharts OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
033: * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
034: * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
035: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,STRICT LIABILITY, OR TORT
036: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
037: * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
038: ************************************************************************************************/package org.krysalis.jcharts.test;
039:
040: import org.krysalis.jcharts.chartData.ChartDataException;
041: import org.krysalis.jcharts.chartData.PieChartDataSet;
042: import org.krysalis.jcharts.nonAxisChart.PieChart2D;
043: import org.krysalis.jcharts.properties.*;
044:
045: import javax.swing.*;
046: import java.awt.*;
047: import java.awt.event.WindowEvent;
048:
049: public class SwingTest extends JFrame {
050: private JPanel panel;
051:
052: /*******************************************************************************
053: *
054: ********************************************************************************/
055: public SwingTest() throws ChartDataException, PropertyException {
056: initComponents();
057: }
058:
059: /*******************************************************************************
060: *
061: ********************************************************************************/
062: private void initComponents() throws ChartDataException,
063: PropertyException {
064: this .setSize(500, 500);
065: this .panel = new JPanel(true);
066: this .panel.setSize(500, 500);
067: this .getContentPane().add(this .panel);
068: this .setVisible(true);
069:
070: String[] labels = { "BMW", "Audi", "Lexus" };
071: String title = "Cars that Own";
072: Paint[] paints = { Color.blue, Color.gray, Color.red };
073: double[] data = { 50d, 30d, 20d };
074:
075: PieChart2DProperties pieChart2DProperties = new PieChart2DProperties();
076: PieChartDataSet pieChartDataSet = new PieChartDataSet(title,
077: data, labels, paints, pieChart2DProperties);
078:
079: PieChart2D pieChart2D = new PieChart2D(pieChartDataSet,
080: new LegendProperties(), new ChartProperties(), 450, 450);
081:
082: //BufferedImage bufferedImage=new BufferedImage( 450, 450, BufferedImage.TYPE_INT_RGB );
083: //pieChart2D.setGraphics2D( bufferedImage.createGraphics() );
084:
085: pieChart2D.setGraphics2D((Graphics2D) this .panel.getGraphics());
086: pieChart2D.render();
087:
088: //this.panel.getGraphics().drawImage( bufferedImage, 0, 0, this );
089:
090: addWindowListener(new java.awt.event.WindowAdapter() {
091: public void windowClosing(WindowEvent windowEvent) {
092: exitForm(windowEvent);
093: }
094: });
095: }
096:
097: /*********************************************************************************
098: * Exit the Application
099: *
100: * @param windowEvent
101: ***********************************************************************************/
102: private void exitForm(WindowEvent windowEvent) {
103: System.exit(0);
104: }
105:
106: /*********************************************************************************
107: *
108: *
109: ***********************************************************************************/
110: public static void main(String args[]) throws ChartDataException,
111: PropertyException {
112: new SwingTest();
113: }
114:
115: }
|