Skip to content

The source code demos for the yFiles for JavaFX diagramming library

License

Notifications You must be signed in to change notification settings

yWorks/yfiles-for-javafx-demos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

yFiles for JavaFX Programming Samples

This repository contains source code demos and tutorials that use the commercial yFiles for JavaFX software programming library for the visualization of graphs, diagrams, and networks. The library itself is not part of this repository.

yFiles for HTML Demos

Running the Demos

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 JavaFX.

Demo Description
SimpleEditor Shows a graph editor which demonstrates the editing features of yFiles for JavaFX.
OrgChart View and manipulate an organization chart.
RotatableNodes Shows how support for rotated node visualizations can be implemented on top of the yFiles library.
AggregateGraphWrapper Shows how to analyze a graph by aggregating groups of nodes .
CollapsibleTree Interactively collapse and expand subgraphs.
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.
BpmnEditor Create and edit Business Process Diagrams.
HierarchicGrouping Organize subgraphs in groups and folders and interactively expand and collapse them.
TableEditor Interactive editing of tables using TableEditorInputMode.

This folder and its subfolders contain demo applications which make use of the different layout algorithms of the layout component of yFiles for JavaFX.

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.
FamilyTree This demo shows how genealogical graphs (family trees) can be visualized.
MarqueeClearAreaLayout Shows how to interactively move graph elements around a marquee rectangle in a given graph layout so that the modifications in the graph are minimal.
CriticalPaths This demo shows how to emphazise important paths with hierarchic and tree layout algorithms.
EdgeBundling Demonstrates edge bundling for different layout styles.
EdgeGrouping Shows the effects of edge and port grouping when arranging graphs with HierarchicLayout.
FillAreaAfterDeletion Shows howto fill free space in the graph after deleting nodes.
NodeTypes A demo that shows how different layout algorithms handle nodes with types.
OrganicSubstructures Shows how OrganicLayout handles substructures and node types.
PartialLayout Shows how to arrange some elements in a graph while keeping other elements fixed.
PartitionGrid Demonstrates the usage of a PartitionGrid for hierarchic and organic layout calculations.
Sankey Uses Hierarchic Layout to arrange Sankey diagrams.
SplitEdges Shows how to align edges at group nodes using RecursiveGroupLayout together with HierarchicLayout.
TreeLayout Demonstrates the tree layout style and the different ways in which this layout can arrange a node and its children.
TreeMap Shows disk usage of a directory tree with the Tree Map layout.

This folder and its subfolders contain demo applications which demonstrate how to use and customize the graph editing features provided by yFiles for JavaFX.

Demo Description
CustomLabelModel Customize label placement model.
CustomPortModel Customize port location model.
ContextMenu Create a context menu for graph items and manage it.
CustomSnapping This demo shows how to customize SnapLine behaviour.
DragAndDrop Shows the drag and drop support provided by yFiles for JavaFX.
EdgeReconnectionPortCandidateProvider Demo code that shows how to customize the reconnection behavior for existing edges.
LabelHandleProvider Enable interactive rotating and resizing labels.
LensInputMode This demo shows how to use a specialized LensInputMode to display the part of the graph the pointer is hovering over in a kind of magnifying glass.
OrthogonalEdges Customize orthogonal edge editing.
PortCandidateProvider Customize the ports at which edges connect to nodes.
PositionHandler Demo code that shows how to customize the movement behavior of INode s.
ReparentHandler Demo code that shows how to customize the reparent gesture in a grouped graph.
ReshapeHandleProvider Implements a custom IReshapeHandleProvider .
ReshapeHandleProviderConfiguration Customize the reshape behavior of nodes.
SingleSelection Configure the GraphEditorInputMode for single selection mode.
SizeConstraintProvider Demo code that shows how to customize the resizing behavior of INode s.

This folder and its subfolders contain demo applications which illustrate the integration of yFiles for JavaFX with different GUI frameworks as well as integration of external libraries into yFiles for JavaFX.

Demo Description
EclipseRCP Demo application that shows how to integrate yFiles for JavaFX in an Eclipse E4 RCP.
Neo4j Demo application that shows how to integrate Neo4j into yFiles for JavaFX.
SwtDemo Demo application that shows how to integrate yFiles for JavaFX in a Standard Widget Toolkit (SWT) application.
SwingDemo Demo application that shows how to integrate yFiles for JavaFX in a Swing application.

This folder and its subfolders contain demo applications which make use of the different features of the viewer component of yFiles for JavaFX.

Demo Description
Css Shows the possibilities to customize the visualizations in yFiles for JavaFX with the help of CSS.
SVGImageExport Export a graph as a SVG image.
BackgroundImage Shows how to add background visualizations to a graph control.
ClickableStyleDecorator Shows how to handle mouse clicks in specific areas of a node's visualization.
EdgeToEdge Shows edge-to-edge connections.
GraphEvents Explore the different kinds of events dispatched by yFiles for JavaFX.
Filtering Shows how to temporarily remove nodes or edges from the graph.
FilteringWithFolding Shows how to combine yFiles filtering and folding features.
Folding Shows how to use yFiles folding feature.
GanttChartDemo Shows how to create a "Gantt chart" with yFiles for JavaFX.
GraphCopy Shows how to copy a graph or sub graph.
GraphViewer A viewer which demonstrates different kinds of graphs created with yFiles for JavaFX.
GridSnapping Demonstrates how to enable grid snapping functionality for graph elements.
ImageExport Export a graph as a bitmap image.
LargeGraphs Improve the rendering performance for very large graphs in yFiles for JavaFX.
LevelOfDetail Demonstrates how to change the level of detail when zooming in and out.
Printing Print the contents of a yFiles GraphControl.
RenderingOrder Shows the effect of different rendering policies to the model items.
SmartClickNavigation Demonstrates how to navigate in a large graph.
Snapping Demonstrates how to enable snapping functionality for graph elements.
Tooltips Demonstrates how to add tooltips to graph items.

This folder and its subfolders contain demo applications which make use of the different features of the styles component of yFiles for JavaFX.

Demo Description
ArrowNodeStyle Implement sophisticated styles for graph objects in yFiles for JavaFX.
CompositeNodeStyle This demo shows how to combine several node styles into one.
DefaultLabelStyle Shows the most important configuration options for the built-in DefaultLabelStyle class.
GroupNodeStyle Implement sophisticated styles for graph objects in yFiles for JavaFX.
RectangleNodeStyle Implement sophisticated styles for graph objects in yFiles for JavaFX.
RichTextLabelStyle Using the JavaFX 8 Rich Text API in yFiles.
ShapeNodeStyle Implement sophisticated styles for graph objects in yFiles for JavaFX.
SimpleCustomStyle Shows how to implement sophisticated styles for graph objects in yFiles for JavaFX.
TemplateStyle Shows how to use TemplateNodeStyle and TemplateLabelStyle to create complex node and label visualizations using FXML components.
TextWrapping Shows how to use the text wrapping and overrun style feature provided by the DefaultLabelStyle class.
ZoomInvariantLabelStyleDemo Demonstrates zoom-invariant label rendering.

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 JavaFX.

Demo Description
GraphBuilder Demonstrates creating a graph using the GraphBuilder class.
InteractiveNodesGraphBuilder Demonstrates creating a graph using class AdjacentNodesGraphBuilder .

This folder and its subfolders contain demo applications which demonstrate some of the graph analysis algorithms available in yFiles for JavaFX.

Demo Description
GraphAnalysis Algorithms to analyse the structure of a graph in yFiles for JavaFX.
ShortestPath Usage and visualization of shortest path algorithms in yFiles for JavaFX.
NetworkFlows Usage and visualization of network flow algorithms in yFiles for JavaFX.

This folder and its subfolders contain demo applications which illustrate tasks for deployment of yFiles for JavaFX applications, e.g. obfuscation.

Demo Description
GradleDemo Demonstrates how to set up a basic yFiles for JavaFX project using Gradle.
MavenDemo Demonstrates howto set up a basic yFiles for JavaFX project using Apache Maven.
ObfuscationDemo Demonstrates the obfuscation of an yFiles for JavaFX application via yGuard.

Tutorials

The yFiles for JavaFX tutorials are extensive source code samples that present the functionality of the yFiles for JavaFX library.

To navigate to a specific tutorial, just follow the corresponding link from the table below.

Available Tutorials

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.

License

Use of the software hosted in this repository is subject to the license terms of the corresponding yFiles for JavaFX license. Owners of a valid software license for a yFiles for JavaFX version that these demos are shipped with are allowed to use the demo source code as basis for their own yFiles for JavaFX powered applications. Use of such programs is governed by the rights and conditions as set out in the yFiles for JavaFX license agreement. More details here. If in doubt, feel free to contact the yFiles for JavaFX support team.