クラスパスの設定

広告

JFreeChartを使ったプログラムのコンパイルや実行する場合には以下の2つのJARファイルにクラスパスを設定する必要があります。2つのファイルは「(インストールしたディレクトリ)¥lib¥」に含まれています。

jfreechart.jar
jcommon.jar

※ダウンロード時には「jfreechart-1.0.10.jar」のようにバージョンが含まれた名前となっていますが、バージョン部分を消した名前に変更してあります。

クラスパスを設定するには「javac」を行う時にオプションで指定する方法と、環境変数に設定する方法、既にクラスパスが設定されているディレクトリにファイルをコピーする方法などがあります。まずは「javac」や「java」コマンド実行時にオプションで指定する方法を確認します。

サンプルファイル名が「Sample.java」、JFreeChartをインストールしたディレクトリが「D:¥jfreechart¥」だった場合は次のJARファイルにクラスパスを設定した上でコンパイルを行います。(ご自分の環境に合わせて下さい)。

d:¥jfreechart¥lib¥jfreechart.jar
d:¥jfreechart¥lib¥jcommon.jar

具体的には次のようになります。

javac -cp d:¥jfreechart¥lib¥jfreechart.jar;d:¥jfreechart¥lib¥jcommon.jar Sample.java

「-cp」の代わりに「-classpath」でも同じです。

実行する時は次のようになります。

java -cp .;d:¥jfreechart¥lib¥jfreechart.jar;d:¥jfreechart¥lib¥jcommon.jar Sample

サンプル

では実際に試してみます。下記は円グラフを表示する簡単なサンプルです。

Sample.java

import org.jfree.chart.JFreeChart;
import org.jfree.chart.ChartFactory;
import org.jfree.data.general.DefaultPieDataset;

import org.jfree.chart.ChartUtilities;
import java.io.File;
import java.io.IOException;

public class Sample{
  public static void main(String[] args) {
    DefaultPieDataset data = new DefaultPieDataset();

    data.setValue("アサヒ", 37);
    data.setValue("キリン", 36);
    data.setValue("サントリー", 13);
    data.setValue("サッポロ", 12);
    data.setValue("その他", 2);

    JFreeChart chart = 
      ChartFactory.createPieChart("Sample", data, true, false, false);

    File file = new File("./chart.png");
    try {
      ChartUtilities.saveChartAsPNG(file, chart, 500, 500);
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

上記を任意のディレクトリに「Sample.java」として保存します。そしてコマンドプロンプトを起動し、次のようにコンパイルを行います。

クラスパスの設定

エラーが表示される無事コンパイルできましたら実行してみます。

クラスパスの設定

今回のプログラムは指定したデータで円グラフを作成しPNG画像として保存します。プログラムが正常に実行されると同じディレクトリにPNG画像が作成されています。

クラスパスの設定

作成された「chart.png」は次の通りです。

クラスパスの設定

このようなグラフが作成することが出来ます。

set CLASSPATHによるクラスパスの設定

コンパイル時と実行時に毎回指定するのではなく、環境変数CLASSPATHに値を設定する方法を確認します。コマンドプロンプトを開いて下記を一度実行して下さい。

set CLASSPATH=.;d:¥jfreechart¥lib¥jfreechart.jar;d:¥jfreechart¥lib¥jcommon.jar

実際には次のようになります。

クラスパスの設定

これ以降はコマンドプロンプトを閉じるまでクラスパスの設定が有効となります。

クラスパスの設定

なお既に設定されたクラスパスにクラスパスを追加する場合には「%CLASSPATH%;」を先頭に加えて次のように指定して下さい。

set CLASSPATH=%CLASSPATH%;.;d:¥jfreechart¥lib¥jfreechart.jar;d:¥jfreechart¥lib¥jcommon.jar

( Written by Tatsuo Ikura )