Skip to content

Latest commit

 

History

History
56 lines (35 loc) · 3.57 KB

README.md

File metadata and controls

56 lines (35 loc) · 3.57 KB

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 can be found Maven Central. [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 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 the binaries from Maven Central.

To build the projects, simply check the sources out from Git and build with Maven using JDK 8 or greater.

License

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

More Info