yFiles for Java (Swing) 2.x
![](png/cup_only-40x55.e2717c2e3f.png)
yFiles for Java (Swing) 2.x is an extensive Java™ class library for the Java Swing world that provides algorithms and components enabling the analysis, visualization, and the automatic layout of graphs, diagrams, and networks.
The 2.x line of yFiles for Java (Swing) supports Java 7 and earlier. If your Java Swing project requires Java 8, we recommend the next-generation yFiles for Java (Swing).
Looking for a JavaFX™ diagramming library instead? Choose yFiles for JavaFX!
yFiles for Java (Swing) 2.18 is the newest version of the 2.x line. Please refer to the release notes to learn more about the technical requirements and feature enhancements of this version.
Next-generation yFiles for Java (Swing)
or higher
Beginning with version 3.0, the yFiles for Java (Swing) diagramming library features a brand-new, modern API which requires Java 8. This API is mature and provides many new features that are not available out-of-the-box in the 2.x line. It also provides the functionality of the ySVG, yExport and yBPMN package as source code application, therefore the extension packages are no longer required.
We recommend to start development with the next-generation yFiles for Java in new Java Swing projects.
Especially in projects that don't need to support legacy Java versions before Java 8, this
is the recommended way to realize your application's diagram visualization part.
Outstanding Features
The yFiles for Java (Swing) 2.x library enables you to create impressive cross-platform Java diagramming applications. It features all essential functionality from the yFiles product family.
yFiles for Java functionality is divided into three parts - Basic, Layout, and Viewer component.
Learn more about the yFiles for Java product types, all available combinations of Basic, Layout, and Viewer components.
Extension Packages
Additional functionality such as SVG output or PDF output (among others), and support for the Business Process Model and Notation (BPMN) is provided through diverse yFiles for Java (Swing) 2.x extension packages.
Components
Basic
The Basic component contains essential classes and data types for graph analysis. From highly efficient implementations of Graph, Priority Queue, and other advanced data types, to a wide variety of graph and network algorithms, The Basic component provides an indispensable toolkit for a range of network analysis tasks.
Layout
The Layout component builds upon the Basic component to offer a perfect suite of graph layout algorithms. Diverse layout styles including hierarchic, orthogonal, and circular are provided as easy-to-integrate components that can be configured programmatically to suit most layout demands. Even incremental layout is made simple, and ouredge routing algorithms make it easy to route edges into existing diagrams.
Viewer
The Viewer component also builds upon the Basic component. It features the powerful graph viewer UI component showcased in the yEd graph editor, along with several other useful Swing-based GUI elements. The Viewer component also supports diverse graph and image file formats (GraphML, JPG, GIF) and has excellent printing capabilities.
Documentation
- yFiles for Java (Swing) 2.18 Developer's Guide
- yFiles for Java (Swing) 2.18 API docs
- UML-enhanced yFiles for Java (Swing) 2.18 Javadoc API documentation (created by our Javadoc extension yWorks UML Doclet): PNG version, SVG version
- yFiles for Java tutorial source code demos
- yFiles for Java related scientific publications
Our Knowledge Base is an excellent resource for finding the answers to frequently asked questions.
Extension packages
Commercial Information
Learn more about the terms and conditions for the commercial or academic use of the yFiles for Java (Swing) 2.x library:
you might want to explore
Why, how, what? —Just ask the diagramming experts!
Our team is happy to advise you – no strings attached. Let's talk about your project and find the perfect solution for your needs!
E-mail: hello@yworks.com
Your message has been sent.
Your request could not be sent. Please reload the page and try again.
If the problem persists, please report the error to webmaster@yworks.com.
Learn more in our privacy policy.