timboudreau / Vl Jung
Programming Languages
Projects that are alternatives of or similar to Vl Jung
JUNG + NetBeans' Visual Library Integration
This project integrates JUNG - a library for drawing edge/node graphs, and Visual Library - a component library which is good at layered animated widgets which can host Swing components.
The result gains new features for users of either library. Visual Library users get a collection of good, usable graph layouts backed by research in graph theory. JUNG users get interactivity - such as animation, using real UI components to represent graph contents, and the ability to incorporate non-graph elements into a graph UI to provide a richer user experience.
Watch this video for a demo and overview of the project.
Visual Library is a standalone library which is part of NetBeans but can be used in standalone Java applications. You don't have to be writing a NetBeans plugin to use this library!
Builds and a Maven repository containing the JARs can be found on timboudreau.com. [Read the Javadoc](Javadoc here and also here (there are two libraries).
Features
-
JungScene
— provides an abstract Visual Library scene implementation which wrappers a JUNG layout as a visual librarySceneLayout
-
JungConnectionWidget
— embeds JUNG's shape-based edge painting logic in a visual library widget -
BaseJungScene
— provides commonly used functionality - manages layer widgets and adding and removing of widgets as the graph is modified
Project Layout
The project consists of a Maven parent project with four child projects:
-
Visual Library + Jung — does the basic integration of JUNG with Visual Library and provides
JungScene
andJungConnectionWidget
- Supports JUNG's animated layouts either using a timer or by pre-rolling
- Wrappers any JUNG layout in a Visual Library
SceneLayout
so that it can be used to lay out a scene with actual widgets
-
Visual Library Jung Base Classes — adds in convenience classes such as
BaseJungScene
and its supporting cast - Visual Library + Jung Demo — is a standalone (non-NetBeans) demo application
- Visual Library + JUNG NetBeans Module Wrapper — is a NetBeans Library Wrapper Module which embeds JUNG and these libraries and exposes their packages as its public API (NetBeans modules use classloader partitioning to restrict package access).
Build & Run
The easy way to use these libraries is via Maven, using this Maven repository - follow the link for a <repository>
section to add to your POM.
To build the projects, simply check the sources out from Git and build with Maven using JDK 7 or greater.
License
BSD 2-clause license for compatibility with JUNG (and most anything else).