ProductsServicesDownloadsNewsCompanyContact

yFiles for Java Product Types

yFiles for Java is available in four different distributions. Each distribution represents a combination of yFiles components.

Distribution Types

Basic Distribution

yFiles Basic distribution contains only the yFiles Basic component.

Layout Distribution

yFiles Layout distribution contains both the yFiles Basic and yFiles Layout components.

Viewer Distribution

yFiles Viewer distribution contains both the yFiles Basic and yFiles Viewer components.

Complete Distribution

yFiles Complete distribution contains the yFiles Basic, yFiles Layout, and yFiles Viewer components.

Distribution Features

The following table provides an overview of the features of the yFiles for Java distributions.

    yFiles for Java Distribution
    Basic Layout Viewer Complete
Basic Component efficient Graph data type implementation for the structural information of graph elements
wide variety of graph and network algorithms
Layout Component support for geometry (position/size) of graph elements    
algorithms for automatic layout of graphs and diagrams    
algorithms for automatic layout of connections in diagrams    
automatic label placement    
Viewer Component support for the visual representation of graph elements    
powerful graph viewer component for the presentation and creation/editing of diagrams    
extensive user interaction support    
support for nested graph structures    
Swing-based GUI elements for properties and parameters    
support for diverse input/output file formats for diagrams and export-only image file formats    
printing support, incl. poster printing    
animations and layout morphing    

yFiles Components

There are currently three different yFiles components, which can be combined as four different yFiles for Java distributions (see above).

Basic Component

The yFiles Basic component is part of each distribution.
It includes the following Java packages: y.algo, y.base, y.geom, y.util and y.util.pq.

yFiles Basic contains essential classes and data types for graph analysis tasks. It ensures the highly efficient implementation of advanced data types such as Graph and Priority Queue. Furthermore, it makes available a wide variety of graph and network algorithms which in turn form an indispensable toolkit for a range of network analysis tasks.

Layout Component

The yFiles Layout component is combined at least with the yFiles Basic component.
It includes the following Java packages: y.layout and all y.layout.* subpackages.

yFiles Layout builds upon yFiles Basic. It offers you a perfect suite of graph layout algorithms, which deliver you unrivaled opportunities. Diverse layout styles including hierarchic, orthogonal, or circular are provided as easy to integrate components that can be configured programmatically to suit most layout demands. In addition, yFiles provides edge routing algorithms that make it possible to easily route edges into existing diagrams. The different layout styles also now include several incremental algorithms, for example incremental hierarchical layout.

Viewer Component

The yFiles Viewer component is combined at least with the yFiles Basic component.
It includes the following Java packages: y.anim, y.io and y.io.* subpackages, y.option, y.view, y.view.hierarchy, and y.view.tabular.

yFiles Viewer also builds upon yFiles Basic. It offers you a powerful graph viewer component, which is showcased in the yEd graph editor application and other Swing-based GUI elements. Other impressive features of yFiles Viewer are its ability to support diverse graph and image file formats (GraphML, YGF and JPG, GIF) and its excellent printing capabilities.