Javaで作成したソースデータをチャートデザイナで使う方法


EspressChartでは、SQL ServerやOracle、DB2といったJDBC/ODBC対応のデータベースや、CSVやXMLなどのテキストファイルなどをソースデータとしてチャート作成が可能です。

また、以下のようにJava上でソースデータを作成した場合でも、Java上でのチャート作成に限らずチャートデザイナ上でデータを読み込ませてチャートを作成することもできます。

Java上で作成したソースデータをチャートデザイナ上で使うにはJava Classファイルを読み込ませます。
今回はEspressChartの環境とは別のJava実行環境で作成したデータソース(Classファイル)を読み込ませるための設定方法について記載します。

Classファイルを作成する

ClassファイルはJavaのソースコードをコンパイルした際に作成されるファイルとなりますので、
JavaファイルをEclipse環境等でプログラムを実行することで作成されます。

また、Classファイルをソースデータとして読み込ませるには、以下の情報が必要となります。
String datatype[]:データベースのデータの型を定義する配列(例:int、double、date)
String fieldname[]:レコード内の各フィールドの名前の配列
String records[][]:レコードの配列

作成例:

import java.awt.*;
import quadbase.ChartAPI.*;
import quadbase.util.*;

public class SampleData implements IDataSource {

	// Setting DbData for passing data as arguments
	String dataType[] = { "string", "string", "double", "double" };
	String fieldName[] = { "Region", "Product", "Sales", "Quantity" };
	String records[][] = { { "East", "Chair", "825.00", "4" }, { "East", "Table", "1211.00", "1" },
			{ "Midwest", "Dresser", "2214.00", "1" }, { "Midwest", "Table", "1211.00", "1" },
			{ "Midwest", "Cabinet", "4021.00", "2" }, { "West", "Chair", "695.00", "2" },
			{ "West", "Table", "1211.00", "1" }, { "West", "Dresser", "2214.00", "1" } };
	DbData data = new DbData(dataType, fieldName, records);

	// create a empty constructor
	public SampleData() {
	};

	// implement getResultSet
	public IResultSet getResultSet() {
		return data;
	}
	
	public static void main(String args[]) {
		
	}
	
}

 

Classファイルが作成できましたら、次の手順でClassファイルの配置を行います。

Classファイルをチャートデザイナで読み込ませる

チャートデザイナのデータソース管理画面でClassファイルを読み込ませるには、2つの条件がございます。

1.File:で指定したディレクトリにClassファイルが存在していること
例:QB.SampleData
  →EspressChartインストールディレクトリ\QB\SampleDataにSampleData.classを配置

2. Classファイル内で保持しているパッケージの情報とFile:で指定した場所が一致していること
例:SampleData.class で保持しているパッケージ情報が QB\SampleData
  →File:でQB.SampleData と指定する

上記設定をすることで、別のJava実行環境で作成したデータソース(Classファイル)であっても、
チャートデザイナでデータソースとして読み込ませることが可能です。

▼Classファイルから読み込んだデータ

▼読み込んだデータから作成した円グラフ

関連するトピックス:

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください