|
From: <nat...@us...> - 2003-08-09 16:57:32
|
Update of /cvsroot/jcharts/krysalis-jcharts/src/java/org/krysalis/jcharts/designer
In directory sc8-pr-cvs1:/tmp/cvs-serv504
Added Files:
ChartPanel.java Designer.java
Log Message:
initial revision
--- NEW FILE: ChartPanel.java ---
/***************************************************************************************
* File Info: $Id: ChartPanel.java,v 1.1 2003/08/09 16:57:29 nathaniel_auvil Exp $
*
* Description:
*
* Last Reviewed: NEVER
* Maintainer: Nathaniel Auvil
* Copyright: <copyright.icore>
***************************************************************************************/
package org.krysalis.jcharts.designer;
import org.krysalis.jcharts.Chart;
import org.krysalis.jcharts.properties.PropertyException;
import org.krysalis.jcharts.chartData.ChartDataException;
import javax.swing.*;
import java.awt.*;
public class ChartPanel extends JPanel {
private Designer designer;
private Chart chart;
/***********************************************************************************
*
* @param designer
**********************************************************************************/
public ChartPanel( Designer designer ) {
super();
super.setMinimumSize( new Dimension( 400, 400 ) );
super.setVisible( true );
this.designer = designer;
}
/**********************************************************************************
*
* @param chart
* @param width
* @param height
**********************************************************************************/
public void setChart( Chart chart, int width, int height ) {
this.chart = chart;
super.setSize( width, height );
//todo this does not set the size correctly
}
/***********************************************************************************
*
* @param graphics
**********************************************************************************/
public void paint( Graphics graphics ) {
super.paint( graphics );
if( this.chart != null ) {
try {
this.chart.setGraphics2D( (Graphics2D) graphics );
this.chart.render();
}
catch( ChartDataException chartDataException ) {
chartDataException.printStackTrace();
}
catch( PropertyException propertyException ) {
propertyException.printStackTrace();
}
}
}
}
--- NEW FILE: Designer.java ---
package org.krysalis.jcharts.designer;
import org.krysalis.jcharts.chartData.ChartDataException;
import org.krysalis.jcharts.designer.charts.DesignerPieChart;
import org.krysalis.jcharts.designer.exceptions.DesignerException;
import org.krysalis.jcharts.designer.menuBar.DesignerMenuBar;
import org.krysalis.jcharts.designer.tabs.LowerHalfPanel;
import javax.swing.*;
/***********************************************************************************
*
* @author Nathaniel Auvil
* @version $Id: Designer.java,v 1.1 2003/08/09 16:57:29 nathaniel_auvil Exp $
**********************************************************************************/
public class Designer extends JFrame {
public static final String TITLE= "jCharts Designer - 1.0.0";
private ChartPanel chartPanel;
private LowerHalfPanel lowerHalfPanel;
private DesignerPieChart designerPieChart;
private org.krysalis.jcharts.axisChart.AxisChart axisChart;
/***********************************************************************************
*
* @throws org.krysalis.jcharts.chartData.ChartDataException
**********************************************************************************/
public Designer() throws ChartDataException {
super( TITLE );
this.designerPieChart= new DesignerPieChart( 450, 450 );
super.setJMenuBar( new DesignerMenuBar( this ) );
super.getContentPane().setLayout( new BoxLayout( super.getContentPane(), BoxLayout.Y_AXIS ) );
this.chartPanel= new ChartPanel( this );
this.chartPanel.setChart( this.designerPieChart.getPieChart2D(), 500, 500 );
this.lowerHalfPanel= new LowerHalfPanel( this );
JScrollPane scrollPane= new JScrollPane( this.chartPanel );
JSplitPane jSplitPane = new JSplitPane( JSplitPane.VERTICAL_SPLIT, scrollPane, this.lowerHalfPanel );
jSplitPane.setOneTouchExpandable( true );
//this.getContentPane().add( jSplitPane, BorderLayout.CENTER );
this.getContentPane().add( jSplitPane );
//---so when they click on the 'x' in the upper right corner, the program exits
super.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
this.pack();
this.setVisible( true );
super.setBounds( 30, 30, 600, 600 );
}
/************************************************************************************
*
***********************************************************************************/
public void refreshChart()
{
try
{
this.lowerHalfPanel.getTopLevelTabs().updateChartProperties( this.designerPieChart.getChartProperties() );
this.designerPieChart.updateChart();
this.chartPanel.repaint();
}
catch( DesignerException designerException )
{
designerException.display( this );
}
catch( ChartDataException chartDataException )
{
JOptionPane.showMessageDialog( this, chartDataException.getMessage(), "Chart Data Exception", JOptionPane.ERROR_MESSAGE );
}
}
/***********************************************************************************
*
**********************************************************************************/
public static void main( String[] args ) throws ChartDataException
{
Designer designer= new Designer();
/*
int width= 450;
int height= 450;
try {
String[] labels = {"BMW", "Audi", "Lexus"};
String title = "Cars that Own";
Paint[] paints = {Color.blue, Color.gray, Color.red};
double[] data = {50d, 30d, 20d};
PieChart2DProperties pieChart2DProperties = new PieChart2DProperties();
PieChartDataSet pieChartDataSet = new PieChartDataSet( title, data, labels, paints, pieChart2DProperties );
PieChart2D pieChart2D = new PieChart2D( pieChartDataSet, new LegendProperties(), new ChartProperties(), width, height );
designer.chartPanel.setChart( pieChart2D, width, height );
}
catch( ChartDataException chartDataException ) {
chartDataException.printStackTrace();
}
*/
}
}
|