The Column Chart Application example.

This example produces a chart of fictitious Market indices for the 12 months of the year 2000. This example demonstrates many of the features of the Column Chart Bean including, multiple series, automatic legend generation, bespoke chart notes and the 3D effects.

The full source code for this example can be found in the ColumnchartApplication directory,

./ColumnchartApplication/ColumnchartApp.java

( Note : In order to run the application you will need to have at least the Java 2 runtime environment installed and the relevant classpath variables configured on your machine. Further information on this can be found at http://java.sun.com )

To run the application open up a command line window in the ./ColumnchartApplication directory and enter the following command,

> java ColumnchartApp

You should now see the application window open similar to the following,

 

Step 1 - Create the Basic Application Framework.

The first thing to do is to create a basic application framework which imports all the necessary classes and create a Window and Frame.

import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.beans.*;
import java.util.*;
import Sirius.columnchart.*;

public class ColumnchartApp {

	public static void main(String args[]) {
		new ColumnchartApp();
	}

	public ColumnchartApp() {
		Frame f = new Frame();
		f.setSize(758,435);
		f.addWindowListener(new ApplicationWindowAdapter());
		try {
			f.setLayout(null);
		}
		catch (Exception ex) {
			ex.printStackTrace();
		}
		f.setVisible(true);
	}

//-----------------------------------------------------------------------------
    class ApplicationWindowAdapter extends WindowAdapter {
		public void windowClosing(WindowEvent we) {
			System.exit(0);
		}
	}
//-----------------------------------------------------------------------------
} // End application class
 
Step 2 - Add in and initialise the Columnchart Bean.
In this step we declare the Columnchart object ( columnchart ) and create and instance
of the Columnchart Bean. Following this the columnchart canvas is resized and then added
to the frame f.

import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.beans.*;
import java.util.*;
import Sirius.columnchart.*;

public class ColumnchartApp {

    // Bean Object
    private Columnchart columnchart;

	public static void main(String args[]) {
		new ColumnchartApp();
	}

	public ColumnchartApp() {
		Frame f = new Frame();
		f.setSize(758,435);
		f.addWindowListener(new ApplicationWindowAdapter());
		try {
			columnchart = (Columnchart)Beans.instantiate(null,"Sirius/columnchart/Columnchart");
			f.setLayout(null);
			columnchart.setSize(750,420);
			Dimension d = columnchart.getSize();
			columnchart.setBounds(5,22,d.width, d.height);
			f.add(columnchart);
		}
		catch (Exception ex) {
			ex.printStackTrace();
		}
		f.setVisible(true);
	}

//-----------------------------------------------------------------------------
    class ApplicationWindowAdapter extends WindowAdapter {
		public void windowClosing(WindowEvent we) {
			System.exit(0);
		}
	}
//-----------------------------------------------------------------------------
} // End application class



Step 3 - Create the Text data object and set this property of the Line Chart Bean.

Pay particular attention to the set_textdata method. This is where the three elements 
of text are created and added to the text data object. Finally in this method the 
Textdata property of the Columnchart bean is set with the line, columnchart.setTextdata(textdata);



import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.beans.*;
import java.util.*;
import Sirius.columnchart.*;

public class ColumnchartApp {

    // Bean Object
    private Columnchart columnchart;

    // Data Objects
    private Vector textdata;    // Text Objects

	public static void main(String args[]) {
		new ColumnchartApp();
	}

	public ColumnchartApp() {
		Frame f = new Frame();
		f.setSize(758,435);
		f.addWindowListener(new ApplicationWindowAdapter());
		try {
			columnchart = (Columnchart)Beans.instantiate(null,"Sirius/columnchart/Columnchart");

            set_textdata();

			f.setLayout(null);
			columnchart.setSize(750,420);
			Dimension d = columnchart.getSize();
			columnchart.setBounds(5,22,d.width, d.height);
			f.add(columnchart);
		}
		catch (Exception ex) {
			ex.printStackTrace();
		}
		f.setVisible(true);
	}

//-----------------------------------------------------------------------------
// Create the text object
//
    private void set_textdata() {
       textdata = new Vector();
       textdata.addElement(new Textdata("Notes:",                          // Text line 1
                                        new Color(255,255,255),            // text color
                                        new Font("Courier",Font.BOLD,12),  // text font
                                        new Point(45,60)                   // text position (x,y)
                                        ));
       textdata.addElement(new Textdata("Fictitious market indices",       // Text line 2
                                        new Color(255,255,255),            // text color
                                        new Font("Courier",Font.PLAIN,12), // text font
                                        new Point(50,72)                   // text position (x,y)
                                        ));
       textdata.addElement(new Textdata("for the year 2000.",              // Text line 3
                                        new Color(255,255,255),            // text color
                                        new Font("Courier",Font.PLAIN,12), // text font
                                        new Point(50,84)                   // text position (x,y)
                                        ));
       columnchart.setTextdata(textdata);
	}

//-----------------------------------------------------------------------------
    class ApplicationWindowAdapter extends WindowAdapter {
		public void windowClosing(WindowEvent we) {
			System.exit(0);
		}
	}
//-----------------------------------------------------------------------------
} // End application class





Step 4 - Create the Title data object and set this property of the Line Chart Bean.

Pay particular attention to the set_titledata method. This is where the three elements 
representing the titles are created and added to the title data object. Finally in this method the 
Titledata property of the Columnchart bean is set with the line, columnchart.setTitledata(textdata);

import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.beans.*;
import java.util.*;
import Sirius.columnchart.*;

public class ColumnchartApp {

    // Bean Object
    private Columnchart columnchart;

    // Data Objects
    private Vector textdata;    // Text Objects
    private Vector titledata;   // Title Objects 

	public static void main(String args[]) {
		new ColumnchartApp();
	}

	public ColumnchartApp() {
		Frame f = new Frame();
		f.setSize(758,435);
		f.addWindowListener(new ApplicationWindowAdapter());
		try {
			columnchart = (Columnchart)Beans.instantiate(null,"Sirius/columnchart/Columnchart");

            set_textdata();
            set_titledata();

			f.setLayout(null);
			columnchart.setSize(750,420);
			Dimension d = columnchart.getSize();
			columnchart.setBounds(5,22,d.width, d.height);
			f.add(columnchart);
		}
		catch (Exception ex) {
			ex.printStackTrace();
		}
		f.setVisible(true);
	}

//-----------------------------------------------------------------------------
// Create the text object
//
    private void set_textdata() {
       textdata = new Vector();
       textdata.addElement(new Textdata("Notes:",                          // Text line 1
                                        new Color(255,255,255),            // text color
                                        new Font("Courier",Font.BOLD,12),  // text font
                                        new Point(45,60)                   // text position (x,y)
                                        ));
       textdata.addElement(new Textdata("Fictitious market indices",       // Text line 2
                                        new Color(255,255,255),            // text color
                                        new Font("Courier",Font.PLAIN,12), // text font
                                        new Point(50,72)                   // text position (x,y)
                                        ));
       textdata.addElement(new Textdata("for the year 2000.",              // Text line 3
                                        new Color(255,255,255),            // text color
                                        new Font("Courier",Font.PLAIN,12), // text font
                                        new Point(50,84)                   // text position (x,y)
                                        ));
       columnchart.setTextdata(textdata);
	}

//-----------------------------------------------------------------------------
// Create the  titledata object
//
    private void set_titledata() {
       titledata = new Vector();
       titledata = new Vector();
       titledata.addElement(new Titledata("Market Indices",new Color(255,255,100),new Font("TimesRoman",Font.BOLD + Font.ITALIC,24),new Point(100,30)));
       titledata.addElement(new Titledata("Year 2000",new Color(0,255,255),new Font("TimesRoman",Font.ITALIC,18),new Point(200,405)));
       titledata.addElement(new Titledata("Index Value",new Color(0,255,255),new Font("TimesRoman",Font.ITALIC,18),new Point(5,375)));
       columnchart.setTitledata(titledata);
	}

//-----------------------------------------------------------------------------
    class ApplicationWindowAdapter extends WindowAdapter {
		public void windowClosing(WindowEvent we) {
			System.exit(0);
		}
	}
//-----------------------------------------------------------------------------
} // End application class


Step 5 - Create the X axis Labels data object and set this property of the Line Chart Bean.

Pay particular attention to the set_xlabelsdata method. Here the twelve labels representing the 
months of the year are created. Finally in this method the Xlabelsdata property of the Columnchart bean is set with the line, columnchart.setXlabelsdata(xlabelsdata);

import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.beans.*;
import java.util.*;
import Sirius.columnchart.*;

public class ColumnchartApp {

    // Bean Object
    private Columnchart columnchart;

    // Data Objects
    private Vector textdata;    // Text Objects
    private Vector titledata;   // Title Objects 
    private Vector xlabelsdata; // X labels Objects

	public static void main(String args[]) {
		new ColumnchartApp();
	}

	public ColumnchartApp() {
		Frame f = new Frame();
		f.setSize(758,435);
		f.addWindowListener(new ApplicationWindowAdapter());
		try {
			columnchart = (Columnchart)Beans.instantiate(null,"Sirius/columnchart/Columnchart");

            set_textdata();
            set_titledata();
            set_xlabelsdata();

			f.setLayout(null);
			columnchart.setSize(750,420);
			Dimension d = columnchart.getSize();
			columnchart.setBounds(5,22,d.width, d.height);
			f.add(columnchart);
		}
		catch (Exception ex) {
			ex.printStackTrace();
		}
		f.setVisible(true);
	}

//-----------------------------------------------------------------------------
// Create the text object
//
    private void set_textdata() {
       textdata = new Vector();
       textdata.addElement(new Textdata("Notes:",                          // Text line 1
                                        new Color(255,255,255),            // text color
                                        new Font("Courier",Font.BOLD,12),  // text font
                                        new Point(45,60)                   // text position (x,y)
                                        ));
       textdata.addElement(new Textdata("Fictitious market indices",       // Text line 2
                                        new Color(255,255,255),            // text color
                                        new Font("Courier",Font.PLAIN,12), // text font
                                        new Point(50,72)                   // text position (x,y)
                                        ));
       textdata.addElement(new Textdata("for the year 2000.",              // Text line 3
                                        new Color(255,255,255),            // text color
                                        new Font("Courier",Font.PLAIN,12), // text font
                                        new Point(50,84)                   // text position (x,y)
                                        ));
       columnchart.setTextdata(textdata);
	}

//-----------------------------------------------------------------------------
// Create the  titledata object
//
    private void set_titledata() {
       titledata = new Vector();
       titledata = new Vector();
       titledata.addElement(new Titledata("Market Indices",new Color(255,255,100),new Font("TimesRoman",Font.BOLD + Font.ITALIC,24),new Point(100,30)));
       titledata.addElement(new Titledata("Year 2000",new Color(0,255,255),new Font("TimesRoman",Font.ITALIC,18),new Point(200,405)));
       titledata.addElement(new Titledata("Index Value",new Color(0,255,255),new Font("TimesRoman",Font.ITALIC,18),new Point(5,375)));
       columnchart.setTitledata(titledata);
	}
//-----------------------------------------------------------------------------
// Create the xlabels object
//
    private void set_xlabelsdata() {
       xlabelsdata = new Vector();
       xlabelsdata.addElement(new Xlabelsdata("January",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("February",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("March",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("April",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("May",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("June",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("July",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("August",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("September",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("October",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("November",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("December",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       columnchart.setXlabelsdata(xlabelsdata);
	}

//-----------------------------------------------------------------------------
    class ApplicationWindowAdapter extends WindowAdapter {
		public void windowClosing(WindowEvent we) {
			System.exit(0);
		}
	}
//-----------------------------------------------------------------------------
} // End application class




Step 6 - Create the Y axis Labels data object and set this property of the Line Chart Bean.

Pay particular attention to the set_ylabelsdata method. Only one element is added to this 
object and the bean will only ever use the first element. Finally in this method the 
Ylabelsdata property of the Columnchart bean is set with the line, columnchart.setYlabelsdata(ylabelsdata);

import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.beans.*;
import java.util.*;
import Sirius.columnchart.*;

public class ColumnchartApp {

    // Bean Object
    private Columnchart columnchart;

    // Data Objects
    private Vector textdata;    // Text Objects
    private Vector titledata;   // Title Objects 
    private Vector xlabelsdata; // X labels Objects
    private Vector ylabelsdata; // Y labels Objects

	public static void main(String args[]) {
		new ColumnchartApp();
	}

	public ColumnchartApp() {
		Frame f = new Frame();
		f.setSize(758,435);
		f.addWindowListener(new ApplicationWindowAdapter());
		try {
			columnchart = (Columnchart)Beans.instantiate(null,"Sirius/columnchart/Columnchart");

            set_textdata();
            set_titledata();
            set_xlabelsdata();
            set_ylabelsdata();

			f.setLayout(null);
			columnchart.setSize(750,420);
			Dimension d = columnchart.getSize();
			columnchart.setBounds(5,22,d.width, d.height);
			f.add(columnchart);
		}
		catch (Exception ex) {
			ex.printStackTrace();
		}
		f.setVisible(true);
	}

//-----------------------------------------------------------------------------
// Create the text object
//
    private void set_textdata() {
       textdata = new Vector();
       textdata.addElement(new Textdata("Notes:",                          // Text line 1
                                        new Color(255,255,255),            // text color
                                        new Font("Courier",Font.BOLD,12),  // text font
                                        new Point(45,60)                   // text position (x,y)
                                        ));
       textdata.addElement(new Textdata("Fictitious market indices",       // Text line 2
                                        new Color(255,255,255),            // text color
                                        new Font("Courier",Font.PLAIN,12), // text font
                                        new Point(50,72)                   // text position (x,y)
                                        ));
       textdata.addElement(new Textdata("for the year 2000.",              // Text line 3
                                        new Color(255,255,255),            // text color
                                        new Font("Courier",Font.PLAIN,12), // text font
                                        new Point(50,84)                   // text position (x,y)
                                        ));
       columnchart.setTextdata(textdata);
	}

//-----------------------------------------------------------------------------
// Create the  titledata object
//
    private void set_titledata() {
       titledata = new Vector();
       titledata = new Vector();
       titledata.addElement(new Titledata("Market Indices",new Color(255,255,100),new Font("TimesRoman",Font.BOLD + Font.ITALIC,24),new Point(100,30)));
       titledata.addElement(new Titledata("Year 2000",new Color(0,255,255),new Font("TimesRoman",Font.ITALIC,18),new Point(200,405)));
       titledata.addElement(new Titledata("Index Value",new Color(0,255,255),new Font("TimesRoman",Font.ITALIC,18),new Point(5,375)));
       columnchart.setTitledata(titledata);
	}
//-----------------------------------------------------------------------------
// Create the xlabels object
//
    private void set_xlabelsdata() {
       xlabelsdata = new Vector();
       xlabelsdata.addElement(new Xlabelsdata("January",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("February",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("March",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("April",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("May",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("June",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("July",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("August",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("September",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("October",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("November",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("December",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       columnchart.setXlabelsdata(xlabelsdata);
	}

//-----------------------------------------------------------------------------
// Create the ylabels data object
//
    private void set_ylabelsdata() {
       ylabelsdata = new Vector();
       ylabelsdata.addElement(new Ylabelsdata(new Color(100,255,255),new Font("Courier",Font.PLAIN,10)));
       columnchart.setYlabelsdata(ylabelsdata);
	}

//-----------------------------------------------------------------------------
    class ApplicationWindowAdapter extends WindowAdapter {
		public void windowClosing(WindowEvent we) {
			System.exit(0);
		}
	}
//-----------------------------------------------------------------------------
} // End application class




Step 7 - Create the Column and Series data objects and set this property of the Column Chart Bean.

Here we create the Column and Series data objects, notice how the Column data object becomes part of 
the series data object. Finally in this method the Seriesdata property of the Columnchart bean is 
set with the line, columnchart.setSeriesdata(seriesdata);

import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.beans.*;
import java.util.*;
import Sirius.columnchart.*;

public class ColumnchartApp {

    // Bean Object
    private Columnchart columnchart;

    // Data Objects
    private Vector textdata;    // Text Objects
    private Vector titledata;   // Title Objects 
    private Vector xlabelsdata; // X labels Objects
    private Vector ylabelsdata; // Y labels Objects
    private Vector columndata;   // Column data Objects
    private Vector seriesdata;  // Series data Objects

	public static void main(String args[]) {
		new ColumnchartApp();
	}

	public ColumnchartApp() {
		Frame f = new Frame();
		f.setSize(758,435);
		f.addWindowListener(new ApplicationWindowAdapter());
		try {
			columnchart = (Columnchart)Beans.instantiate(null,"Sirius/columnchart/Columnchart");

            set_textdata();
            set_titledata();
            set_xlabelsdata();
            set_ylabelsdata();
            set_seriescolumndata();

			f.setLayout(null);
			columnchart.setSize(750,420);
			Dimension d = columnchart.getSize();
			columnchart.setBounds(5,22,d.width, d.height);
			f.add(columnchart);
		}
		catch (Exception ex) {
			ex.printStackTrace();
		}
		f.setVisible(true);
	}

//-----------------------------------------------------------------------------
// Create the text object
//
    private void set_textdata() {
       textdata = new Vector();
       textdata.addElement(new Textdata("Notes:",                          // Text line 1
                                        new Color(255,255,255),            // text color
                                        new Font("Courier",Font.BOLD,12),  // text font
                                        new Point(45,60)                   // text position (x,y)
                                        ));
       textdata.addElement(new Textdata("Fictitious market indices",       // Text line 2
                                        new Color(255,255,255),            // text color
                                        new Font("Courier",Font.PLAIN,12), // text font
                                        new Point(50,72)                   // text position (x,y)
                                        ));
       textdata.addElement(new Textdata("for the year 2000.",              // Text line 3
                                        new Color(255,255,255),            // text color
                                        new Font("Courier",Font.PLAIN,12), // text font
                                        new Point(50,84)                   // text position (x,y)
                                        ));
       columnchart.setTextdata(textdata);
	}

//-----------------------------------------------------------------------------
// Create the  titledata object
//
    private void set_titledata() {
       titledata = new Vector();
       titledata = new Vector();
       titledata.addElement(new Titledata("Market Indices",new Color(255,255,100),new Font("TimesRoman",Font.BOLD + Font.ITALIC,24),new Point(100,30)));
       titledata.addElement(new Titledata("Year 2000",new Color(0,255,255),new Font("TimesRoman",Font.ITALIC,18),new Point(200,405)));
       titledata.addElement(new Titledata("Index Value",new Color(0,255,255),new Font("TimesRoman",Font.ITALIC,18),new Point(5,375)));
       columnchart.setTitledata(titledata);
	}
//-----------------------------------------------------------------------------
// Create the xlabels object
//
    private void set_xlabelsdata() {
       xlabelsdata = new Vector();
       xlabelsdata.addElement(new Xlabelsdata("January",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("February",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("March",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("April",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("May",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("June",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("July",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("August",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("September",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("October",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("November",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("December",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       columnchart.setXlabelsdata(xlabelsdata);
	}

//-----------------------------------------------------------------------------
// Create the ylabels data object
//
    private void set_ylabelsdata() {
       ylabelsdata = new Vector();
       ylabelsdata.addElement(new Ylabelsdata(new Color(100,255,255),new Font("Courier",Font.PLAIN,10)));
       columnchart.setYlabelsdata(ylabelsdata);
	}
//-----------------------------------------------------------------------------
// Create the  series and point objects
//
    private void set_seriescolumndata() {
         seriesdata = new Vector();
         // Series 1
         columndata = new Vector();
         columndata.addElement(new Pointdata(2420.45, false));
         columndata.addElement(new Pointdata(2630.56, false));
         columndata.addElement(new Pointdata(2700.90, true));
         columndata.addElement(new Pointdata(2750.40, false));
         columndata.addElement(new Pointdata(2450.20, false));
         columndata.addElement(new Pointdata(2380.45, false));
         columndata.addElement(new Pointdata(2230.56, true));
         columndata.addElement(new Pointdata(2400.90, false));
         columndata.addElement(new Pointdata(2450.45, false));
         columndata.addElement(new Pointdata(2350.45, false));
         columndata.addElement(new Pointdata(2320.56, false));
         columndata.addElement(new Pointdata(2530.20, true));
         seriesdata.addElement(new Seriesdata("Tech Sector", new Color(255,50,50), 1, columndata));

         // Series 2
         columndata = new Vector();
	     columndata.addElement(new Pointdata(2220.45, false));
	     columndata.addElement(new Pointdata(2180.56, false));
	     columndata.addElement(new Pointdata(2160.56, true));
	     columndata.addElement(new Pointdata(2165.40, false));
	     columndata.addElement(new Pointdata(2230.20, false));
	     columndata.addElement(new Pointdata(2250.87, false));
	     columndata.addElement(new Pointdata(2267.15, false));
	     columndata.addElement(new Pointdata(2305.91, false));
	     columndata.addElement(new Pointdata(2330.12, true));
	     columndata.addElement(new Pointdata(2300.63, false));
	     columndata.addElement(new Pointdata(2290.54, false));
	     columndata.addElement(new Pointdata(2250.74, false));
         seriesdata.addElement(new Seriesdata("Banks", new Color(255,0,255), 2, columndata));

         // Series 3
         columndata = new Vector();
	     columndata.addElement(new Pointdata(2000.44, false));
	     columndata.addElement(new Pointdata(2050.51, false));
	     columndata.addElement(new Pointdata(2075.41, false));
	     columndata.addElement(new Pointdata(2040.32, false));
	     columndata.addElement(new Pointdata(2010.41, false));
	     columndata.addElement(new Pointdata(2085.11, true));
	     columndata.addElement(new Pointdata(2007.44, false));
	     columndata.addElement(new Pointdata(2020.22, false));
	     columndata.addElement(new Pointdata(2020.21, false));
	     columndata.addElement(new Pointdata(2040.65, false));
	     columndata.addElement(new Pointdata(2069.33, false));
	     columndata.addElement(new Pointdata(2210.51, true));
         seriesdata.addElement(new Seriesdata("Oil", new Color(50,255,50), 0, columndata));

         columnchart.setSeriesdata(seriesdata);
	}

//-----------------------------------------------------------------------------
    class ApplicationWindowAdapter extends WindowAdapter {
		public void windowClosing(WindowEvent we) {
			System.exit(0);
		}
	}
//-----------------------------------------------------------------------------
} // End application class


Step 8 - Create the Legend data object and set this property of the Line Chart Bean.

Here we create the Legend data object with the method set_legenddata(). Finally in this method the Seriesdata property of the Columnchart bean is 
set with the line, columnchart.setLegenddata(legenddata);

import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.beans.*;
import java.util.*;
import Sirius.columnchart.*;

public class ColumnchartApp {

    // Bean Object
    private Columnchart columnchart;

    // Data Objects
    private Vector textdata;    // Text Objects
    private Vector titledata;   // Title Objects 
    private Vector xlabelsdata; // X labels Objects
    private Vector ylabelsdata; // Y labels Objects
    private Vector columndata;  // Column data Objects
    private Vector seriesdata;  // Series data Objects
    private Vector legenddata;  // Legend Properties

	public static void main(String args[]) {
		new ColumnchartApp();
	}

	public ColumnchartApp() {
		Frame f = new Frame();
		f.setSize(758,435);
		f.addWindowListener(new ApplicationWindowAdapter());
		try {
			columnchart = (Columnchart)Beans.instantiate(null,"Sirius/columnchart/Columnchart");

            set_textdata();
            set_titledata();
            set_xlabelsdata();
            set_ylabelsdata();
            set_seriescolumndata();
            set_legenddata();

			f.setLayout(null);
			columnchart.setSize(750,420);
			Dimension d = columnchart.getSize();
			columnchart.setBounds(5,22,d.width, d.height);
			f.add(columnchart);
		}
		catch (Exception ex) {
			ex.printStackTrace();
		}
		f.setVisible(true);
	}

//-----------------------------------------------------------------------------
// Create the text object
//
    private void set_textdata() {
       textdata = new Vector();
       textdata.addElement(new Textdata("Notes:",                          // Text line 1
                                        new Color(255,255,255),            // text color
                                        new Font("Courier",Font.BOLD,12),  // text font
                                        new Point(45,60)                   // text position (x,y)
                                        ));
       textdata.addElement(new Textdata("Fictitious market indices",       // Text line 2
                                        new Color(255,255,255),            // text color
                                        new Font("Courier",Font.PLAIN,12), // text font
                                        new Point(50,72)                   // text position (x,y)
                                        ));
       textdata.addElement(new Textdata("for the year 2000.",              // Text line 3
                                        new Color(255,255,255),            // text color
                                        new Font("Courier",Font.PLAIN,12), // text font
                                        new Point(50,84)                   // text position (x,y)
                                        ));
       columnchart.setTextdata(textdata);
	}

//-----------------------------------------------------------------------------
// Create the  titledata object
//
    private void set_titledata() {
       titledata = new Vector();
       titledata = new Vector();
       titledata.addElement(new Titledata("Market Indices",new Color(255,255,100),new Font("TimesRoman",Font.BOLD + Font.ITALIC,24),new Point(100,30)));
       titledata.addElement(new Titledata("Year 2000",new Color(0,255,255),new Font("TimesRoman",Font.ITALIC,18),new Point(200,405)));
       titledata.addElement(new Titledata("Index Value",new Color(0,255,255),new Font("TimesRoman",Font.ITALIC,18),new Point(5,375)));
       columnchart.setTitledata(titledata);
	}
//-----------------------------------------------------------------------------
// Create the xlabels object
//
    private void set_xlabelsdata() {
       xlabelsdata = new Vector();
       xlabelsdata.addElement(new Xlabelsdata("January",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("February",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("March",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("April",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("May",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("June",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("July",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("August",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("September",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("October",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("November",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("December",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       columnchart.setXlabelsdata(xlabelsdata);
	}

//-----------------------------------------------------------------------------
// Create the ylabels data object
//
    private void set_ylabelsdata() {
       ylabelsdata = new Vector();
       ylabelsdata.addElement(new Ylabelsdata(new Color(100,255,255),new Font("Courier",Font.PLAIN,10)));
       columnchart.setYlabelsdata(ylabelsdata);
	}
//-----------------------------------------------------------------------------
// Create the  series and point objects
//
    private void set_seriescolumndata() {
         seriesdata = new Vector();
         // Series 1
         columndata = new Vector();
         columndata.addElement(new Pointdata(2420.45, false));
         columndata.addElement(new Pointdata(2630.56, false));
         columndata.addElement(new Pointdata(2700.90, true));
         columndata.addElement(new Pointdata(2750.40, false));
         columndata.addElement(new Pointdata(2450.20, false));
         columndata.addElement(new Pointdata(2380.45, false));
         columndata.addElement(new Pointdata(2230.56, true));
         columndata.addElement(new Pointdata(2400.90, false));
         columndata.addElement(new Pointdata(2450.45, false));
         columndata.addElement(new Pointdata(2350.45, false));
         columndata.addElement(new Pointdata(2320.56, false));
         columndata.addElement(new Pointdata(2530.20, true));
         seriesdata.addElement(new Seriesdata("Tech Sector", new Color(255,50,50), 1, columndata));

         // Series 2
         columndata = new Vector();
	     columndata.addElement(new Pointdata(2220.45, false));
	     columndata.addElement(new Pointdata(2180.56, false));
	     columndata.addElement(new Pointdata(2160.56, true));
	     columndata.addElement(new Pointdata(2165.40, false));
	     columndata.addElement(new Pointdata(2230.20, false));
	     columndata.addElement(new Pointdata(2250.87, false));
	     columndata.addElement(new Pointdata(2267.15, false));
	     columndata.addElement(new Pointdata(2305.91, false));
	     columndata.addElement(new Pointdata(2330.12, true));
	     columndata.addElement(new Pointdata(2300.63, false));
	     columndata.addElement(new Pointdata(2290.54, false));
	     columndata.addElement(new Pointdata(2250.74, false));
         seriesdata.addElement(new Seriesdata("Banks", new Color(255,0,255), 2, columndata));

         // Series 3
         columndata = new Vector();
	     columndata.addElement(new Pointdata(2000.44, false));
	     columndata.addElement(new Pointdata(2050.51, false));
	     columndata.addElement(new Pointdata(2075.41, false));
	     columndata.addElement(new Pointdata(2040.32, false));
	     columndata.addElement(new Pointdata(2010.41, false));
	     columndata.addElement(new Pointdata(2085.11, true));
	     columndata.addElement(new Pointdata(2007.44, false));
	     columndata.addElement(new Pointdata(2020.22, false));
	     columndata.addElement(new Pointdata(2020.21, false));
	     columndata.addElement(new Pointdata(2040.65, false));
	     columndata.addElement(new Pointdata(2069.33, false));
	     columndata.addElement(new Pointdata(2210.51, true));
         seriesdata.addElement(new Seriesdata("Oil", new Color(50,255,50), 0, columndata));

         columnchart.setSeriesdata(seriesdata);
	}

//-----------------------------------------------------------------------------
// Create the legenddata object
//
    private void set_legenddata() {
       legenddata = new Vector();
       legenddata.addElement(new Legenddata("Indices",                         // Legend title
                                            new Color(200,200,200),            // Legend text color
                                            new Font("Courier",Font.PLAIN,12), // Legend text font
                                            new Point(300,60)                  // Legend top-left position (x,y)
                                           ));
       columnchart.setLegenddata(legenddata);
	}

//-----------------------------------------------------------------------------
    class ApplicationWindowAdapter extends WindowAdapter {
		public void windowClosing(WindowEvent we) {
			System.exit(0);
		}
	}
//-----------------------------------------------------------------------------
} // End application class




Step 9 - Create the Chart data object and set this property of the Line Chart Bean.

Here we create Chart data object with the method set_chartdata(). Finally in this method the Seriesdata property of the Columnchart bean is 
set with the line, columnchart.setChartdata(chartdata);

import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.beans.*;
import java.util.*;
import Sirius.columnchart.*;

public class ColumnchartApp {

    // Bean Object
    private Columnchart columnchart;

    // Data Objects
    private Vector textdata;    // Text Objects
    private Vector titledata;   // Title Objects 
    private Vector xlabelsdata; // X labels Objects
    private Vector ylabelsdata; // Y labels Objects
    private Vector columndata;  // Column data Objects
    private Vector seriesdata;  // Series data Objects
    private Vector legenddata;  // Legend Properties
    private Vector chartdata;   // Chart Properties Object

	public static void main(String args[]) {
		new ColumnchartApp();
	}

	public ColumnchartApp() {
		Frame f = new Frame();
		f.setSize(758,435);
		f.addWindowListener(new ApplicationWindowAdapter());
		try {
			columnchart = (Columnchart)Beans.instantiate(null,"Sirius/columnchart/Columnchart");

            set_textdata();
            set_titledata();
            set_xlabelsdata();
            set_ylabelsdata();
            set_seriescolumndata();
            set_legenddata();
            set_chartdata();

			f.setLayout(null);
			columnchart.setSize(750,420);
			Dimension d = columnchart.getSize();
			columnchart.setBounds(5,22,d.width, d.height);
			f.add(columnchart);
		}
		catch (Exception ex) {
			ex.printStackTrace();
		}
		f.setVisible(true);
	}

//-----------------------------------------------------------------------------
// Create the text object
//
    private void set_textdata() {
       textdata = new Vector();
       textdata.addElement(new Textdata("Notes:",                          // Text line 1
                                        new Color(255,255,255),            // text color
                                        new Font("Courier",Font.BOLD,12),  // text font
                                        new Point(45,60)                   // text position (x,y)
                                        ));
       textdata.addElement(new Textdata("Fictitious market indices",       // Text line 2
                                        new Color(255,255,255),            // text color
                                        new Font("Courier",Font.PLAIN,12), // text font
                                        new Point(50,72)                   // text position (x,y)
                                        ));
       textdata.addElement(new Textdata("for the year 2000.",              // Text line 3
                                        new Color(255,255,255),            // text color
                                        new Font("Courier",Font.PLAIN,12), // text font
                                        new Point(50,84)                   // text position (x,y)
                                        ));
       columnchart.setTextdata(textdata);
	}

//-----------------------------------------------------------------------------
// Create the  titledata object
//
    private void set_titledata() {
       titledata = new Vector();
       titledata = new Vector();
       titledata.addElement(new Titledata("Market Indices",new Color(255,255,100),new Font("TimesRoman",Font.BOLD + Font.ITALIC,24),new Point(100,30)));
       titledata.addElement(new Titledata("Year 2000",new Color(0,255,255),new Font("TimesRoman",Font.ITALIC,18),new Point(200,405)));
       titledata.addElement(new Titledata("Index Value",new Color(0,255,255),new Font("TimesRoman",Font.ITALIC,18),new Point(5,375)));
       columnchart.setTitledata(titledata);
	}
//-----------------------------------------------------------------------------
// Create the xlabels object
//
    private void set_xlabelsdata() {
       xlabelsdata = new Vector();
       xlabelsdata.addElement(new Xlabelsdata("January",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("February",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("March",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("April",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("May",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("June",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("July",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("August",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("September",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("October",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       xlabelsdata.addElement(new Xlabelsdata("November",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 365, 0));
       xlabelsdata.addElement(new Xlabelsdata("December",new Color(0,255,255),new Font("Courier",Font.PLAIN,10), 375, 0));
       columnchart.setXlabelsdata(xlabelsdata);
	}

//-----------------------------------------------------------------------------
// Create the ylabels data object
//
    private void set_ylabelsdata() {
       ylabelsdata = new Vector();
       ylabelsdata.addElement(new Ylabelsdata(new Color(100,255,255),new Font("Courier",Font.PLAIN,10)));
       columnchart.setYlabelsdata(ylabelsdata);
	}
//-----------------------------------------------------------------------------
// Create the  series and point objects
//
    private void set_seriescolumndata() {
         seriesdata = new Vector();
         // Series 1
         columndata = new Vector();
         columndata.addElement(new Pointdata(2420.45, false));
         columndata.addElement(new Pointdata(2630.56, false));
         columndata.addElement(new Pointdata(2700.90, true));
         columndata.addElement(new Pointdata(2750.40, false));
         columndata.addElement(new Pointdata(2450.20, false));
         columndata.addElement(new Pointdata(2380.45, false));
         columndata.addElement(new Pointdata(2230.56, true));
         columndata.addElement(new Pointdata(2400.90, false));
         columndata.addElement(new Pointdata(2450.45, false));
         columndata.addElement(new Pointdata(2350.45, false));
         columndata.addElement(new Pointdata(2320.56, false));
         columndata.addElement(new Pointdata(2530.20, true));
         seriesdata.addElement(new Seriesdata("Tech Sector", new Color(255,50,50), 1, columndata));

         // Series 2
         columndata = new Vector();
	     columndata.addElement(new Pointdata(2220.45, false));
	     columndata.addElement(new Pointdata(2180.56, false));
	     columndata.addElement(new Pointdata(2160.56, true));
	     columndata.addElement(new Pointdata(2165.40, false));
	     columndata.addElement(new Pointdata(2230.20, false));
	     columndata.addElement(new Pointdata(2250.87, false));
	     columndata.addElement(new Pointdata(2267.15, false));
	     columndata.addElement(new Pointdata(2305.91, false));
	     columndata.addElement(new Pointdata(2330.12, true));
	     columndata.addElement(new Pointdata(2300.63, false));
	     columndata.addElement(new Pointdata(2290.54, false));
	     columndata.addElement(new Pointdata(2250.74, false));
         seriesdata.addElement(new Seriesdata("Banks", new Color(255,0,255), 2, columndata));

         // Series 3
         columndata = new Vector();
	     columndata.addElement(new Pointdata(2000.44, false));
	     columndata.addElement(new Pointdata(2050.51, false));
	     columndata.addElement(new Pointdata(2075.41, false));
	     columndata.addElement(new Pointdata(2040.32, false));
	     columndata.addElement(new Pointdata(2010.41, false));
	     columndata.addElement(new Pointdata(2085.11, true));
	     columndata.addElement(new Pointdata(2007.44, false));
	     columndata.addElement(new Pointdata(2020.22, false));
	     columndata.addElement(new Pointdata(2020.21, false));
	     columndata.addElement(new Pointdata(2040.65, false));
	     columndata.addElement(new Pointdata(2069.33, false));
	     columndata.addElement(new Pointdata(2210.51, true));
         seriesdata.addElement(new Seriesdata("Oil", new Color(50,255,50), 0, columndata));

         columnchart.setSeriesdata(seriesdata);
	}

//-----------------------------------------------------------------------------
// Create the legenddata object
//
    private void set_legenddata() {
       legenddata = new Vector();
       legenddata.addElement(new Legenddata("Indices",                         // Legend title
                                            new Color(200,200,200),            // Legend text color
                                            new Font("Courier",Font.PLAIN,12), // Legend text font
                                            new Point(300,60)                  // Legend top-left position (x,y)
                                           ));
       columnchart.setLegenddata(legenddata);
	}
//-----------------------------------------------------------------------------
// Create the chartdata object
//
    private void set_chartdata() {
      chartdata = new Vector();
      chartdata.addElement(new Chartdata(true,                   // threeD
                                         true,                   // grid
                                         true,                   // axis
                                         true,                   // ylabels
                                         true,                   // outline
                                         true,                   // legend
                                         750,                    // width
                                         420,                    // height
                                         12,                     // number of points,
                                         7,                      // number of nrows,
                                         30,                     // vertical spacing,
                                         3,                      // number of series,
                                         50,                     // horizontal spacing,
                                         75,                     // gridxpos,
                                         350,                    // gridypos,
                                         15,                     // depth3D,
                                         2,                      // ndecplaces,
                                         10,                     // Column width
                                         100,                    // chartScale,
                                         2000,                   // chartStartY,
                                         new Color(175,175,175), // gridColor,
										 new Color(255,255,255), // axisColor,
										 new Color(100,100,100), // floorColor,
										 new Color(255,255,255), // labelColor,
                                         new Color(0,0,0),       // backgroundColor
                                         new Color(0,0,0)        // Outline Color
                                        ));
      columnchart.setChartdata(chartdata);
	}
//-----------------------------------------------------------------------------
    class ApplicationWindowAdapter extends WindowAdapter {
		public void windowClosing(WindowEvent we) {
			System.exit(0);
		}
	}
//-----------------------------------------------------------------------------
} // End application class

Summary

In order to generate the line chart within an application a simple application framework was created, an instance of the columnchart bean was created and finally the data objects were created and the corresponding bean properties set.