プロジェクトのタイムラインを可視化することで、チームは方向性を合わせ、期限を守ることができます。 Conholdate.Total for Java は、数行のコードだけで Java でガントチャートを作成できる強力な SDK を提供します。このガイドでは、ライブラリの設定方法、タスクの定義、外観のカスタマイズ、そしてチャートを PDF にエクスポートする方法を紹介します。

Conholdate.Total for Java の設定

コーディングを開始する前に、Java 17以降がインストールされており、Maven対応のIDEがあることを確認してください。pom.xmlにConholdate MavenリポジトリとSDKの依存関係を追加します:

<repositories>
    <repository>
        <id>conholdate-repo</id>
        <name>Conholdate Maven Repository</name>
        <url>https://repository.conholdate.com/repo/</url>
    </repository>
</repositories>
<dependency>
    <groupId>com.conholdate</groupId>
    <artifactId>conholdate-total</artifactId>
    <version>24.9</version>
    <type>pom</type>
</dependency>

最新の JAR は、ダウンロードページから直接取得することもできます。SDK がクラスパスに追加されたら、チャートの作成を開始できる状態です。

ステップバイステップで構築する: Javaでガントチャートを作成する

ステップ 1: チャート オプションの構成

まず、GanttChartOptions インスタンスを作成し、必要な視覚プロパティを設定します。このオブジェクトはタイトル、タイムラインのスケール、バーの色などを制御します。

GanttChartOptions options = new GanttChartOptions();
options.setTitle("Project Development Schedule");
options.setScale(GanttScale.DAYS);
options.setBarColor(GanttBarColor.BLUE);
options.setBarPattern(GanttBarPattern.SOLID);
options.setBarStyle(GanttBarStyle.RECTANGLE);
options.setEnableCaching(true);

詳細なプロパティの説明については、GanttChartOptions API を参照してください。

ステップ 2: GanttChart インスタンスの作成

構成されたオプションを GanttChart コンストラクタに渡します。

GanttChart chart = new GanttChart(options);

チャート オブジェクトは、タスクを受け取る準備ができたレイアウト エンジンを保持しています。

ステップ 3: タイムラインを構築するタスクを追加

Use chart.addTask を使用して各プロジェクトフェーズを挿入します。タスクを追加することは、Java でガントチャートを作成する際の核心であり、各タスクは開始日と終了日を定義します。

chart.addTask("Requirement Analysis", toDate(2023, 10, 1), toDate(2023, 10, 5));
chart.addTask("Design", toDate(2023, 10, 6), toDate(2023, 10, 12));
chart.addTask("Implementation", toDate(2023, 10, 13), toDate(2023, 11, 5));
chart.addTask("Testing", toDate(2023, 11, 6), toDate(2023, 11, 20));
chart.addTask("Deployment", toDate(2023, 11, 21), toDate(2023, 11, 22));

ヘルパーメソッド toDate は、年/月/日 の3つ組を java.util.Date オブジェクトに変換します。

ステップ 4: チャートをエクスポート

最後に、チャートをファイルに保存します。SDKはPDFPNGJPEGやその他の形式をサポートしています。

chart.save("output/gantt_chart.pdf", SaveFormat.PDF);

別の出力が必要な場合は、SaveFormat.PDFSaveFormat.PNG または SaveFormat.JPEG に変更できます。

ステップ5: リソースのクリーンアップ

完了したらネイティブリソースを解放してください。

chart.dispose();

完全なコード例:ガントチャート Java 例

以下の例は、開始から完了まで Java でガントチャートを作成する方法を示しています。

import com.groupdocs.chart.GanttChart;
import com.groupdocs.chart.options.GanttChartOptions;
import com.groupdocs.chart.enums.GanttScale;
import com.groupdocs.chart.enums.GanttBarColor;
import com.groupdocs.chart.enums.GanttBarPattern;
import com.groupdocs.chart.enums.GanttBarStyle;
import com.groupdocs.chart.enums.SaveFormat;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;

public class GanttChartDemo {
    public static void main(String[] args) {
        // Configure chart appearance and timeline scale
        GanttChartOptions options = new GanttChartOptions();
        options.setTitle("Project Development Schedule");
        options.setScale(GanttScale.DAYS);               // timeline scale
        options.setBarColor(GanttBarColor.BLUE);         // default bar color
        options.setBarPattern(GanttBarPattern.SOLID);    // bar fill pattern
        options.setBarStyle(GanttBarStyle.RECTANGLE);    // bar shape
        options.setEnableCaching(true);                  // performance for large charts

// Create the Gantt chart with the defined options
        GanttChart chart = new GanttChart(options);

// Populate chart with tasks (dynamic data source can be used similarly)
        chart.addTask("Requirement Analysis", toDate(2023, 10, 1), toDate(2023, 10, 5));
        chart.addTask("Design", toDate(2023, 10, 6), toDate(2023, 10, 12));
        chart.addTask("Implementation", toDate(2023, 10, 13), toDate(2023, 11, 5));
        chart.addTask("Testing", toDate(2023, 11, 6), toDate(2023, 11, 20));
        chart.addTask("Deployment", toDate(2023, 11, 21), toDate(2023, 11, 22));

// Export the Gantt chart to PDF (other formats like PNG, JPEG are also supported)
        chart.save("output/gantt_chart.pdf", SaveFormat.PDF);

// Release resources
        chart.dispose();
    }

// Helper method to convert year/month/day to java.util.Date
    private static Date toDate(int year, int month, int day) {
        return Date.from(
                LocalDate.of(year, month, day)
                        .atStartOfDay(ZoneId.systemDefault())
                        .toInstant()
        );
    }
}

注: このコード例はコア機能を示しています。プロジェクトで使用する前に、ファイルパスや構成値が実際の環境に合わせて更新されていることを確認し、必要な依存関係がすべて正しくインストールされているか検証し、開発環境で徹底的にテストしてください。問題が発生した場合は、公式ドキュメント を参照するか、サポートチーム にお問い合わせください。

結論

Javaでガントチャートを作成することは、Conholdate.Total for Java を使用すれば簡単です。GanttChartOptions を設定し、タスクを追加し、結果をエクスポートすることで、数秒でプロフェッショナルな外観のタイムラインを生成できます。SDK のキャッシュ機能と柔軟な SaveFormat オプションにより、大規模なプロジェクトも効率的に処理できます。商用ライセンスが本番環境で必要であることを忘れないでください。一時ライセンスページ から一時ライセンスを取得するか、価格ページ で価格詳細を確認できます。今日からアプリケーションにガントチャートを統合し、ステークホルダーに明確なビジュアルスケジュールで情報を提供しましょう。

よくある質問

JavaでConholdate.Totalを使用してガントチャートを作成する方法は?
GanttChartGanttChartOptions クラスを使用し、addTask でタスクを追加し、save を呼び出してエクスポートします。完全なコードスニペットはこの記事で提供されています。

PDF以外の形式でガントチャートをエクスポートできますか?
はい。chart.save メソッドは SaveFormat.PNGSaveFormat.JPEG、および SaveFormat 列挙体で定義されているその他の値を受け入れます。完全な一覧については、公式ドキュメント をご覧ください。

本番環境で必要なライセンスは何ですか?
商用ライセンスが必須です。 一時ライセンスは一時ライセンスページからリクエストでき、価格は価格ページで確認できます。

大規模なガントチャートのパフォーマンスを向上させるにはどうすればよいですか?
options.setEnableCaching(true) を使用してキャッシュを有効にし、タスク数を適切に保ちます。SDK は大規模データセット向けに最適化されており、キャッシュにより描画時間が大幅に短縮されます。

さらに読む