- Home ›
- JFreeChartを使ったグラフ作成 ›
- JavaアプリケーションでのJFreeChartの利用 ›
- HERE
ChartFrameクラス
ChartFrameクラスはJFrameクラスのサブクラスです。ここではフレーム内にグラフを表示させる方法を確認します。
ChartFrameクラスのクラス図は次のように定義されています。
java.lang.Object L java.awt.Component L java.awt.Container L java.awt.Window L java.awt.Frame L javax.swing.JFrame L org.jfree.chart.ChartFrame public class ChartFrame extends javax.swing.JFrame
ChartFrameクラスはJFrameクラスのサブクラスとなっています。
用意されているコンストラクタは次の2つです。
コンストラクタの概要 |
---|
ChartFrame(java.lang.String title, JFreeChart chart) Constructs a frame for a chart. |
ChartFrame(java.lang.String title, JFreeChart chart, boolean scrollPane) Constructs a frame for a chart. |
1番目のコンストラクタを確認してみます。
ChartFrame public ChartFrame(java.lang.String title, JFreeChart chart)
Constructs a frame for a chart. Parameters: title - the frame title. chart - the chart.
引数にはフレームのタイトルと、JFreeChartクラスのオブジェクトを指定します。
ChartFrameではフレームの背景画像のようにグラフが貼り付けられているわけではなく、JFreeChartクラスのオブジェクトを元に作成したChartPanelクラスのオブジェクトが作成されてフレーム内に追加されています。(ChartPanelクラスについては次のページで解説します)。
実際の使い方は次のようになります。
DefaultPieDataset data = new DefaultPieDataset(); JFreeChart chart = ChartFactory.createPieChart("Title", data, true, false, false); ChartFrame frame = new ChartFrame("Title", chart); frame.setBounds(10, 10, 400, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true);
ChartFrameクラスはJFrameクラスのサブクラスですので、JFrameクラスで用意されている「setBounds」メソッドで位置とサイズを設定し、「setDefaultCloseOperation」メソッドで終了処理を追加し、「setVisible」メソッドでフレームを表示しています。(JFrameクラスについては「JFrameクラス」を参照して下さい)。
グラフを表示するフレームを簡単に作成するには便利ですが、イベント処理などより細かい制御を行う場合にはChartPanelクラスを使用して下さい。
サンプルプログラム
では簡単なサンプルを作成して試してみます。
import org.jfree.chart.JFreeChart; import org.jfree.chart.ChartFactory; import org.jfree.data.general.DefaultPieDataset; import org.jfree.chart.ChartFrame; import javax.swing.JFrame; public class Test1_1{ public static void main(String[] args) { DefaultPieDataset data = new DefaultPieDataset(); data.setValue("1個", 20); data.setValue("2個", 45); data.setValue("3個", 10); data.setValue("4個", 8); data.setValue("その他", 17); JFreeChart chart = ChartFactory.createPieChart("金メダル予想", data, true, false, false); ChartFrame frame = new ChartFrame("Title", chart); frame.setBounds(10, 10, 400, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }
上記をコンパイルした後で実行すると次のようにJavaアプリケーションが起動します。
フレームのサイズを変更するとグラフもフレームに合わせて変更されます。
( Written by Tatsuo Ikura )