Repository navigation
Releases: brunomnsilva/JavaFXSmartGraph
Release list
v2.5.0
- (2.5.0) Interaction events:
- New event-based click API for vertices, edges and the canvas:
setVertexClickHandler,setEdgeClickHandlerandsetCanvasClickHandler. SmartGraphClickEventexposes the clicked element, mouse button, click count, modifiers
and the click position in panel coordinates.- Clicks on vertex labels, edge labels and arrows are routed to their owning graph element.
- Hover effects now propagate in both directions between graph elements and their labels/arrows.
- Panels initialize automatically once attached to a scene with a non-zero size;
init()is
optional and idempotent. - Performance improvements in automatic layout and updates: unordered allocation-free force
calculations, coalesced updates, cached annotation lookups and set-based removal detection. - Deprecated
setVertexDoubleClickActionandsetEdgeDoubleClickAction; use
setVertexClickHandler/setEdgeClickHandlerandSmartGraphClickEvent#isDoubleClick().
These deprecated methods are scheduled for removal in 3.0.0.
- New event-based click API for vertices, edges and the canvas:
Full Changelog: v2.4.0...v2.5.0
2.4.0
- (2.4.0) Notable changes:
- Fix a latent scroll bug in
ContentZoomScrollPaneunder certain scroll events sequences. β οΈ JavaFX is now anoptionaldependency (provided by the application): the consuming application must declare the JavaFX modules it uses, so smartgraph no longer imposes a JavaFX version;- Minimum runtime is now documented as JDK 17 (JavaFX 21 requires it); the library is compiled against JavaFX 21 (LTS);
- Build aligned with the actual requirements:
maven.compiler.releaseinstead ofsource/target, centralizedjavafx.versionproperty, and an enforcer rule for JDK 17+.
- Fix a latent scroll bug in
Full Changelog: v2.3.0...v2.4.0
2.3.0
-
(2.3.0) Notable changes:
- π Edges only span the distance between vertex boundaries (instead of centers). This yields a nicer visualization when vertices are made transparent.
2.2.0
-
(2.2.0) Notable changes:
β οΈ Bump minimum JDK to 11 and define library as a Java Module;- π Robust algorithm for vertex spawning;
- Propagation of hover events to labels and arrows (can be styled);
- π Improve edge readability (issue #43) by changing the label underlying representation to a StackPane. Labels now accept CSS styles for Pane (background) and Text (the label itself).
β οΈ Fixed a regression that affected the movement of vertices.- Other small fixes and improvements.
2.1.0
-
(2.1.0) Notable changes:
-
Improved edge and label rendering;
-
Fix visibility of methods necessary to create custom placement strategies.
-
Improved
ContentZoomScrollPanewith clipping of any overflow.- Bring vertex and label to front, while dragging.
-
2.0.0
Minor fixes and stable version release. See Wiki for changelist.
2.0.0-rc2
(2.0.0-rc2) Several minor improvements, including:
-
Example on how to use a background image for a vertex, see issue #34.
-
Styles applied to edges are propagated to their respective arrows, see issue #31.
Available also in Maven repo:
<dependency>
<groupId>com.brunomnsilva</groupId>
<artifactId>smartgraph</artifactId>
<version>2.0.0-rc2</version>
</dependency>2.0.0-rc1
-
(2.0.0-rc1) Shapes, sizes, providers, annotations and minor improvements:
-
Different shapes can be used to represent vertices, namely circles, stars and regular polygons (from triangles to dodecagons);
- The default shape can be specified with the
vertex.shapeproperty insmartgraph.properties - Can be set/changed at runtime through a
SmartShapeTypeProviderorSmartShapeTypeSourceannotation.
- The default shape can be specified with the
-
The radius of the shape (enclosing circle) used to represent a vertex can be set/changed at runtime through a
SmartRadiusProviderorSmartRadiusSourceannotation. -
Updated shapes and radii are only reflected in the visualization after calling
SmartGraphPanel.update()orSmartGraphPanel.updateAndWait(). -
Improvements:
- When dragging nodes, they will be kept within the panel's bounds.
- The look of curved edges has been improved.
-
1.1.0
Stable release.
Summary:
- Automatic layout strategies (includes a new strategy with gravity pull towards the center of the panel).
- Fix clipping for the
ContentZoomPane. - Code cleanup.
1.0.0
Stable release. Can also be found at Maven Central.