This repository contains source code demos that use the commercial yFiles for Java (Swing) software programming library for the visualization of graphs, diagrams, and networks. The library itself is not part of this repository.
For most of these demos equivalent ones based on yFiles for HTML are hosted online here for everyone to play with. Developers should evaluate the library, instead. The evaluation version also contains these demos and the necessary library to execute the code.
This folder and its subfolders contain demo applications which make use of the different features of yFiles for Java (Swing).
| Demo | Description |
|---|---|
| SimpleEditor | A graph editor which demonstrates the editing features of yFiles for Java (Swing). |
| OrgChart | View and manipulate an organization chart. |
| RotatableNodes | Shows how support for rotated node visualizations can be implemented on top of the yFiles library. |
| BPMNEditor | Business Process Diagram sample application. |
| HierarchicGrouping | Organize subgraphs in groups and folders and interactively expand and collapse them. |
| IsometricDrawing | Displays graphs in an isometric fashion to create an impression of a 3-dimensional view. |
| LogicGate | An editor for networks of logic gates with dedicated ports for incoming and outgoing connections. |
| CollapsibleTree | Interactively collapse and expand subgraphs. |
| TableEditor | Interactive creation and editing of tables. |
| Uml | Interactive creation and editing of UML class diagrams. |
This folder and its subfolders contain demo applications which make use of the different layout algorithms of the layout component of yFiles for Java (Swing).
| Demo | Description |
|---|---|
| LayoutStyles | Play with the most used layout algorithms of yFiles. |
| HierarchicLayout | Showcase of one of our central layout algorithms, the HierarchicLayout. |
| InteractiveOrganicLayout | Use InteractiveOrganicLayout for organic layout in interactive environments. |
| EdgeBundling | Shows how edge bundling can be applied for reducing visual cluttering in dense graphs. |
| PartitionGrid | Demonstrates the usage of a PartitionGrid for hierarchic and organic layout calculations. |
| Sankey | Showcase of how a Sankey diagram can be produced by means of the HierarchicLayout. |
This folder and its subfolders contain demo applications which use and customize the graph editing features provided by yFiles for Java (Swing).
| Demo | Description |
|---|---|
| CustomPortModel | Customize port location model. |
| CustomSnapping | Enable and customize the snapping behaviour of graph items. |
| DragAndDrop | Enable and customize the drag-and-drop support for nodes, labels and ports. |
| EdgeReconnection | Enable and customize the reconnection behavior of edges. |
| Hyperlink | Add hyperlink support to HTML formatted labels. |
| OrthogonalEdges | Enable and customize orthogonal edge editing. |
| PopupMenu | Enable and customize context menus for nodes and for the canvas background. |
| PortCandidateProvider | Customize the ports at which edges connect to nodes. |
| PositionHandler | Customize the movement behavior of nodes. |
| ReparentHandler | Customize the re-parenting behavior of nodes. |
| ReshapeHandleProvider | Customize the reshape handles of nodes. |
| SingleSelection | Configure the GraphEditorInputMode for single selection mode. |
| SizeConstraintProvider | Customize the resizing behavior of nodes. |
This folder and its subfolders contain demo applications which illustrate the integration of yFiles for Java with different GUI frameworks.
| Demo | Description |
|---|---|
| JavaFXApplication | Integrate yFiles for Java (Swing) in a JavaFX application. |
| Neo4j | Demo application that shows how to integrate Neo4j into yFiles for Java (Swing). |
This folder and its subfolders contain demo applications which make use of the different features of the viewer component of yFiles for Java (Swing).
| Demo | Description |
|---|---|
| PDFImageExport | Export a graph as a PDF, EPS or EMF document. |
| SVGImageExport | Export a graph as a SVG image. |
| EdgeToEdge | Shows edge-to-edge connections. |
| GraphEvents | Explore the different kinds of events dispatched by yFiles for Java (Swing). |
| GraphMLCompatibility | Shows how to enable read compatibility for GraphML files from older versions. |
| GraphViewer | Showcase of different kinds of graphs created with yFiles for Java (Swing). |
| ImageExport | Export a graph as a bitmap image. |
| LargeGraphs | Improve the rendering performance for very large graphs in yFiles for Java (Swing). |
| Printing | Print a graph by using the yFiles CanvasPrintable. |
| RenderingOrder | Shows the effect of different rendering policies to the model items. |
This folder and its subfolders contain demo applications which make use of the different features of the styles component of yFiles for Java (Swing).
| Demo | Description |
|---|---|
| SimpleCustomStyle | Implement sophisticated styles for graph objects in yFiles for Java (Swing). |
| SVGNodeStyle | Demonstrates SVG node visualizations. |
| JComponentStyle | Arbitrary Swing components incorporated as graph elements. |
This folder and its subfolders contain demo applications which demonstrate how to use the GraphBuilder classes for binding graph elements to business data in yFiles for Java (Swing).
| Demo | Description |
|---|---|
| GraphBuilder | Demonstrates data binding using the GraphBuilder class. |
| InteractiveNodesGraphBuilder | Demonstrates data binding using class AdjacentNodesGraphBuilder . |
This folder and its subfolders contain demo applications which demonstrate some of the graph analysis algorithms available in yFiles for Java (Swing).
| Demo | Description |
|---|---|
| GraphAnalysis | Algorithms to analyse the structure of a graph in yFiles for Java (Swing). |
| ShortestPath | Usage and visualization of shortest path algorithms in yFiles for Java (Swing). |
This folder and its subfolders contain demo applications which illustrate tasks for deployment of yFiles for Java (Swing) applications, e.g. obfuscation.
| Demo | Description |
|---|---|
| ObfuscationDemo | Obfuscate an yFiles for Java (Swing) application via yGuard. |
The yFiles for Java (Swing) tutorials are extensive source code samples that present the functionality of the yFiles for Java (Swing) library. All tutorials can be found in subdirectories of the current directory.
To navigate to a specific tutorial, just follow the corresponding link from the table below.
| Category | Description |
|---|---|
| Getting Started | Introduces basic concepts as well as main features like custom styles, full user interaction, Undo/Redo, clipboard, I/O, grouping and folding. |
| Custom Styles | A step-by-step guide to customizing the visual representation of graph elements. This tutorial is intended for users who want to learn how to create custom styles from scratch. |
Use of the software hosted in this repository is subject to the license terms of the corresponding yFiles for Java (Swing) license. Owners of a valid software license for a yFiles for Java (Swing) version that these demos are shipped with are allowed to use the demo source code as basis for their own yFiles for Java (Swing) powered applications. Use of such programs is governed by the rights and conditions as set out in the yFiles for Java (Swing) license agreement. More details here. If in doubt, feel free to contact the yFiles for Java (Swing) support team.
