枠線の表示(setBorderVisible)

広告

グラフに枠線を表示するかどうかを設定します。JFreeChartクラスで用意されている「setBorderVisible」メソッドを使います。

Sets a flag that controls whether or not a border is drawn around the 
outside of the chart.

Parameters:
  visible - the flag.

枠線を表示する場合は引数に「true」、表示しない場合は「false」を指定します。デフォルトでは「false」となっています。

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

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

chart.setBorderVisible(true);

なお現在枠線が表示されるようになっているかどうかを確認するためにJFreeChartクラスで「isBorderVisible」メソッドが用意されています。

Returns a flag that controls whether or not a border is drawn around the 
outside of the chart.

Returns:
  A boolean.

現在枠線が表示されるようになっている場合は「true」を、非表示になっている場合は「false」を返します。

サンプルプログラム

では簡単なサンプルを作成して試してみます。

Test1_1.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 Test1_1{
  public static void main(String[] args) {
    DefaultPieDataset data = new DefaultPieDataset();
    data.setValue("外食", 37);
    data.setValue("弁当", 31);
    data.setValue("食べない", 32);

    JFreeChart chart = 
      ChartFactory.createPieChart("昼食", data, false, false, false);

    System.out.println(chart.isBorderVisible());

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

    chart.setBorderVisible(true);
    System.out.println(chart.isBorderVisible());

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

上記をコンパイルした後で実行すると次のように表示されます。

枠線の表示(setBorderVisible)

実行するとグラフをPNG画像として保存します。今回は枠線無しと枠線有りの2つの画像が作成されます。

枠線無し:

枠線の表示(setBorderVisible)

枠線有り:

枠線の表示(setBorderVisible)

( Written by Tatsuo Ikura )