SWTでJFreeChart
純正/公式に拘るならBIRTなのでしょう.
けれども,ちょっとグラフを出すだけのためにレポーティングウイザードが山盛りのBIRTを組込むのは,ちょいと躊躇うワケです.無駄なプラグインが増えれば,起動も動作も遅くなります.
で,JFreeChartです.
SWT-AWTブリッジを使うというのが古典的な解法なのですが.
最近のJFreeChartでは,experimentalながら,もうちょっと手を抜けるようなwrapperが提供されています.
案外情報が(特に日本語のが)少ないのは,experimentalなのを避けたい気持ちからなのか,海外情報の孫引きが多いからなのか.;-(
例えば,Ganttなら,こんな感じ.
import org.jfree.experimental.chart.swt.ChartComposite; public class SwitchTaskView extends ViewPart { Task[] tasks; Date lastDate; public SwitchTaskView() { lastDate = Calendar.getInstance().getTime(); } public void createPartControl(Composite parent) { JFreeChart chart; ChartComposite composite; chart = createChart(); composite = new ChartComposite(parent, SWT.NONE, chart, true); composite.setToolTipText("Task status"); } private TaskSeries createTaskSeries() { TaskSeries series = new TaskSeries("Running"); tasks = new Task[10]; for (int i = 0; i < tasks.length; i++) { tasks[i] = new Task(String.valueOf(i + 1), lastDate, lastDate); series.add(tasks[i]); } return series; } private JFreeChart createChart() { JFreeChart chart; TaskSeriesCollection collection = new TaskSeriesCollection(); TaskSeries series = createTaskSeries(); collection.add(series); chart = ChartFactory.createGanttChart("Task status", "TaskID", "Timeline", collection, true, true, false); return chart; }
何を作ろうとしているのか,バレバレですな.;-)