Skip to content
NetBeans Visual Library integration with JUNG (Java Universal Graph Library) for rich, animated visualizations of graphs using real components
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

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 [Read the Javadoc](Javadoc here and also here (there are two libraries).


  • JungScene — provides an abstract Visual Library scene implementation which wrappers a JUNG layout as a visual library SceneLayout
  • 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 and JungConnectionWidget
    • 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.


BSD 2-clause license for compatibility with JUNG (and most anything else).

More Info

You can’t perform that action at this time.