A Java Graph Package
Grappa is a Java graph drawing package that simplifies the inclusion of graph
display and manipulation capabilities within Java applications and applets. It has a good number of useful
features built into it, but is also extensible.
Grappa can be thought of as a port of a subset of GraphViz to Java.
The current version of Grappa was built using the Java Development Kit (JDK)
version 1.2 and takes advantage of recent improvements in the JDK such as
Java 2D and
Browser users can obtain free plug-ins via
Sun to make their browsers capable of running JDK1.2.
You can download a copy of the
Grappa source, documentation and archive files by going to the
Graphviz download page and selecting the Download Grappa link
in the Java Support section.
On-line documentation and a demo
are also available (you will need the above mentioned plug-in for the demo, though).
demo that uses the JDK1.2 plug-in,
depending on your browser, your platform, etc., the particular plug-in you use may introduce some flakiness into the demo.
If you want to demo the 1.2 version of Grappa more reliably, you could try pointing a Java 1.2 appletviewer to http://www.research.att.com/~john/Grappa/grappa1_2.applet instead.
The latest release of Grappa is dated .
Refer to the
page for an indication of what is different in the latest release.
There is also a
frequently asked questions (FAQ) page
Some of the features of Grappa are:
- methods for building, manipulating, traversing and displaying graphs of nodes, edges and subgraphs;
- each graph element may have associated with it any number of arbitrary name/value attributes;
- certain specific attributes affect element position and appearance when displayed;
- Grappa includes methods for reading in and writing out graphs using the dot
text format (graphs may also be created by directly using the available element creation methods or interactively
with a mouse);
- a utility is provided to easily allow batch processing of a graph by a layout or other graph processing program;
- interactive means are provided for creating and deleting graph elements as well as selection and deletion;
- a wide range of node shapes are available;
- a single graph can be displayed in multiple windows;
- pop-up labelling (also known as a ToolTip) is available for any displayed element simply by defining a tip
The source for earlier JDK1.0 and JDK1.1 versions of Grappa
is also included in the Grappa distribution.
are still available.
You may, however, need to re-start your browser when you switch from one version of the demo to another as caching will most likely cause confusion since there is a great deal of name-space overlap among the versions.
Grappa is licensed under the same arrangements as are used for graphviz.
Refer to the graphviz download page for additional information.
For questions about Grappa, contact John Mocenigo.