JGo for Java: Swing and SWT

Interactive diagramming in your Java application

View Samples Free Trial

Flexible, Powerful, and Easy to Use

JGo is a Java user interface component that makes including interactive diagrams in your Java application or applet a breeze. It's easy to use the JGo library to build custom diagrams, like network/workflow editors, connected graphs, smart maps, flowcharts, and software design tools. JGo comes with built-in support for a variety of shapes, text, images, containers, and a host of other features.

Why Use JGo?

The JGo classes provide a fast, easy-to-use tool when you need clean, professional, interactive diagrams as a part of your application. Use JGo when a graphical display of objects, showing their states and relationships, would allow your users to visualize and manipulate their data. You can easily add data-aware JGo views to your existing applications without modifying underlying design. JGo comes with full source and no runtime fees, saving you money by making your product better and faster.

Full of Features

The JGo package, com.nwoods.jgo, is a set of classes built using Java2D and Swing. A JGo View is a component that displays a JGo document, in which you can create your diagram in a scrollable, zoomable window. Objects in JGo documents can be organized into groups and layers. The JGo library is both flexible and extensible, and only depends on the standard Java2 packages. Other features include (but are not limited to):

  • Document view architecture
  • Collapsible subgraphs
  • Drag-and-drop support between components
  • Support for multiple layers
  • Rich set of built-in components and links
  • Ability to customize, extend, or create your own components
  • Grids and snapping behavior
  • Clipboard/zoom/undo/redo support
  • Orthogonal and bezier curve links
  • Several useful example applications
  • Clear, concise documentation

Automatic Graph Layout

As a part of JGo Professional, the Automatic Layout package provides well laid out diagrams for thousands less than other products. Choose from 3 algorithms:

Tree Layout

The Tree Layout provides a blisteringly fast layout, mainly for tree-structured graphs. Many options are provided to achieve the appearance and clarity you desire.

Force Directed

The Force Directed Layout uses nodes with "charges", links as "springs", and gravity/force fields to create layouts with radial symmetry.

Layered Digraph

The Layered Digraph Layout provides a layered layout for any directed graph. Nodes are placed in separate layers and link crossings are reduced.

JGo Graphical Instruments

The instruments library for JGo comes with our Professional packages for .NET and for Java/Swing (but not for JGo SWT). These classes are built to display numeric values in a graphical way, implementing scale objects that display a scale with regular markings and labels. JGo comes with an InstrumentDemo sample application, which defines many such objects for various purposes with various appearances (see right).

JGo in Action

Some sample JGo applications (click to enlarge):

Sample Application

Family Tree sample

Workflow sample


There are two main factors that led to my selection of JGo. The first is the ease-of-use and the second is documentation. The package is well designed, straightforward and easy to extend. I appreciate the solid thinking that went into the design. There were enough simple examples in the evaluation that I was able to put together a sample application in a very short time. I found the documentation to be thorough both in the user's guides and Javadoc comments.
What I like the best is that the package is not overly complicated and it does what it says it will do.
I continue to be very happy with your products (JGo and JGoLayout). I am also pleased with the level of support that I have received from your company. My questions were answered promptly and the answers made sense.