新規購入お見積

yFiles for Java は Java™ Swing GUI toolkit のためのダイアグラム作成ライブラリです。

ライブラリはダイアグラムの描画、表示、編集のための UIコントロール機能を持っています。高度なグラフレイアウトアルゴリズムにより、1クリックで自動的に複雑なグラフやネットワークを配置します。

 

強力なグラフのコントロール

強力な Java Swing コンポーネントにより、直感的でインタラクティブなグラフを作成できます。

  • シンプルなマウス操作で、ダイアグラムを簡単に編集、操作が可能
  • スムーズなアニメーションと要素の「磁石のような」アラインメント
  • 拡大/縮小とパン (水平移動) 、アンドゥ/リドゥ、クリップボード機能、画像のエクスポート、印刷などを標準で装備
  • 特定のニーズに簡単に合致するようにインタラクティブ処理をカスタマイズ可能
  • SVG、PDF、PS、EMF 等のインポート/エクスポート
  • BPM (Business Process Modeling) 可視化をサポートしたアプリケーションや BPMN (Business Process Modeling Notation/ビジネスプロセスモデリング表記法) の特定のレイアウトの自動生成をサポートしたアプリケーションの開発

 

グラフの分析と自動レイアウト

yFiles for Java は、最もチャレンジングな分析を簡単に処理することができる様々なグラフ解析アルゴリズムを提供します。

  • 自動グラフレイアウトアルゴリズムのセットには、データを明確で簡潔なダイアログラムに自動的に生成する階層、直交、円レイアウトのスタイルが含まれています。
  • ルーティングアルゴリズムは既存のダイアグラム内の要素をつなぐ線を最適化します。
  • 多くの設定オプションが、非常に高度なダイアログラムのレイアウト要求も満たします。

 

Java 8 のサポート

yFiles for Java (3.0以降) は Java言語レベル1.8 を完全にサポートしています。これにはラムダ式、デフォルトメソッド、ストリーム、ジェネリクスを含みます。

開発しているアプリケーションが Java 8 以前のレガシーバージョンのサポートが必要な場合は、yFiles for Java 2.0 (Java 1.4とそれ以降の5.0、6.0、7.0対応) を使うことを推奨します (バージョン2.0での販売も継続しています) 。

 

 

ショーケース・アプリケーション

この例は yFiles for Java 3.0 で動作しています。Java Web Start (Java 8が必要) を使った実行形式です。

» デモを起動

 

ソースコード付きデモ・アプリケーション

yFiles for Java は、次のようなデモ・アプリケーションの完全なソースコードと一緒に出荷されます。

自動レイアウト・アルゴリズムが実際に動いているところを見るには、レイアウトスタイルオンラインデモ をご覧ください。

 

グラフエディタ

グラフエディタ・デモアプリケーションは、可視化と自動レイアウト機能を示したデモンストレーションです:

  • ノードとエッジの追加、削除、移動、ラベル付けを行いグラフを作成
  • インタラクティブなズーム、パン、アンドゥ/リドゥ、コピー/ペーストなど
  • グラフ・レイアウト・アルゴリズムの適用
  • GraphML からの読み込み、GraphML としての保存、画像としてエクスポート

レイアウト・スタイル

レイアウト・スタイル のデモは、yFiles の様々な自動ダイアグラム・レイアウト・アルゴリズムを示しています。例えば、階層、有機的、直交、ツリー、円、バルーンなどのスタイルです。さらに、これはグラフ表示コンポーネントの強力で高度にカスタマイズ可能なグラフ編集機能も示しています。

グラフ・ビューアー

グラフ・ビューアー のデモは、ズームやパンのようなユーザーのインタラクティブ機能を示しています。様々なドメインのグラフを読み込み、読み込み途中で説明やツールチップを使って追加の情報を表示することができます。

組織図

組織図 のデモは、XML から読み込んだデータを使ったインタラクティブな組織図です。

ビジネスプロセス・モデル

このサンプルアプリケーションはビジネスプロセス・ダイアグラム (BPMN) を作成、編集し、特定のBPMNレイアウト・アルゴリズムを使って配置する方法を示しています。

折り畳み可能ツリー

折り畳み可能ツリー のデモは、インタラクティブに折り畳めるツリーのような構造を示しています。ノードは現在の状態を示すカスタムアイコンを使って表示されています。ツリーを開く/閉じるという操作の後、グラフは設定可能なレイアウト・アルゴリズムを使って再描画されます。

グループ化されたグラフ

グループ化されたグラフ のデモは、グループ化のサポートを示しています。グループノードは折り畳んだり、開いたりすることができます。さらに、グループノードを折り畳んだり、開いたりしたとき、新しい追加されたレイアウトが計算され、グラフが再描画されます。

カスタムのスタイル

カスタムのスタイル のチュートリアルは、ノード、エッジ、ラベルのルック&フィールを簡単に変える方法を示しています。これにより、グラフの構造の注意を惹く表現を作ることができます。

 

パッケージタイプ

yFiles for Java では以下の 3つのパッケージをお選びいただけます。

  • レイアウト (Layout)
    レイアウト (Layout) パッケージは、yFiles for Java – Algorithms コンポーネントのみ含んでいます。

  • ビューアー (Viewer)
    ビューアー (Viewer) パッケージは、yFiles for Java – Viewer コンポーネントのみ含んでいます。

  • コンプリート (Complete)
    コンプリート (Complete) パッケージは、yFiles for Java – AlgorithmsとyFiles for Java – Viewer を含んでいます。
    さらに、このパッケージにはアダプタークラスが含まれています。これはViewerライブラリからyFilesグラフレイアウト・アルゴリズムを使用することができるようにするものです。

 

パッケージ別機能比較表


yFiles パッケージタイプ
Layout Viewer Complete
Basic
コンポーネント
効果的なグラフデータタイプの実装 (グラフ要素の構造的な情報)
グラフとネットワークのさまざまなアルゴリズム
 
Layout
コンポーネント
グラフ要素の位置情報のサポート (ポジション・サイズ)  
グラフやダイアグラムの自動レイアウトのためのアルゴリズム  
ダイアグラム中の接続の自動レイアウトのためのアルゴリズム  
自動ラベル配置  
 
Viewer
コンポーネント
グラフ要素の視覚的表現のサポート  
プレゼンテーションとダイアグラムの作成・編集のための強力なグラフ表示コンポーネント  
豊富なユーザーとの対話機能のサポート  
階層化されたグラフ構造のサポート  
プロパティとパラメータのための Swing-based GUI 要素  
多様な入出力ファイルフォーマット (ダイアグラムと出力用のイメージファイルのフォーマット) のサポート  
ポスター印刷を含む印刷のサポート  
アニメーションとレイアウトモーフィング  

 

yFiles for Java 構成ブロック

現在、2つの異なる yFiles for Java コンポーネントがあります。これらは 3つの異なる yFiles for Java パッケージ製品となっています (上記、「パッケージタイプ」) 。

 

アルゴリズム (Algorithms)

yFiles for Java – Algorithms は、洗練されたグラフレイアウト・アルゴリズムだけでなく、グラフ分析のための効率的なアルゴリズムとデータ構造を実装しています。

  • 分析
    yFiles for Java – Algorithms は、グラフ分析作業のための必須のクラスとデータ形式を提供しています。これらは、グラフや優先キューのような高度なデータ形式が効率的に実装されています。さらに、アルゴリズム・ライブラリは様々なグラフ・ネットワーク・アルゴリズムを持っており、ネットワーク分析処理において不可欠なツールキットです。

  • レイアウト
    アルゴリズム・ライブラリはグラフ・レイアウト・アルゴリズムの理想的なスイートです。階層、直交、円を含む様々なレイアウト形式は、ほとんどのレイアウトの要求を満たすようにプログラミングできるコンポーネントとして提供されます。さらに、yFiles for Java – Algorithms は、既存のダイアログラムにエッジを簡単にルーティングできるエッジルーティング・アルゴリズムを提供します。異なるレイアウトスタイルがいくつかのインクリメンタルなアルゴリズムを持っています。

 

ビューアー (Viewer)

yFiles for Java – Viewer コンポーネントは、グラフを表示する強力な Java Swingコントロールを提供し、コントロールを使ってグラフをインタラクティブにする機能、印刷を便利にする機能、様々な出力形式にエクスポートする機能を提供します。

  • 可視化
    コントロールは、グラフィックスエンジンをベースとして、任意のグラフィカルオブジェクトを表示することができます。複雑なグラフィックスの柔軟なカスタマイズと高速なレンダリングを可能にします。
  • 編集
    yFiles for Java は、Java Swingアプリケーションにカスタムの編集機能を簡単に追加することができます。ライブラリはクリップボード機能、アンドゥ/リドゥを完全にサポートします。
  • I/O
    yFiles for Java グラフ・コントロールに表示されるグラフィックスは、様々なビットマップベースの画像フォーマットにエクスポートすることができます。
    yFiles for Java は、グラフ構造とレイアウト情報のネイティブの交換ファイルフォーマットとして、XMLベースのGraphMLフォーマットを使用しています。
    yFiles for Java を使うと、高品質な印刷機能をアプリケーションに簡単に組み込むことができます。

 

yFiles を元に作成されたグラフエディタ・アプリケーション yEd をご試用してください。yEd は、フリーでご利用いただけます。ライブラリの機能を概観いただけます。ダイアグラム、ネットワーク図、組織図などを自動生成や編集を行います。また、ダイアグラム等を見やすく自動レイアウトを行います。 複雑なネスト・グラフ (階層構造を持ったグラフ) を扱えます。(yED Graph Editor についてはこちらをご覧ください。)

  • 例えば、複雑なダイアグラムを手軽に作りたい。一例として、会社の組織図を横レイアウトや縦レイアウトにして見やすく表現したい。更に、階層構造を持っていて、「事業部」をクリックすると、その内部を見せたい。 事業部の下に、部があり、その下に課があると言う複雑なレイアウトをデータベースと連動させて構築することが可能となります。
    Windows 環境での実行画面 MacOSX 環境での実行画面