Home       Products       Support       Forums       FREE Trial Download       Customers       Project Gallery       About Us       Contact Us       Ordering Info   

 
 
  GO Products
    Evaluation
    Ordering Info
  GoDiagram for .NET
    Concepts
    Features
    Samples
    AutoLayout
    Instruments
    Express
  GoDiagram for
Java (JGo)
    Features
    Samples
    AutoLayout
    Instruments
  GoDiagram for
MFC (GO++
)
    Features
    Samples
    AutoLayout
    ActiveX

    Community
 

  Technical Support

 

  Forums

 

  Consultants

"We found the GoDiagram tools to be extremely powerful, flexible, and easy to use."
Joey Runyans
Senior Software Engineer
Aegis Technologies Group



       
 
JGo
 
View Cart
 

JGo 5.2 is shipping

February 2007. Version 5.2 introduces several new classes and methods that make programming easier.

We have added a JGoCollection class, to make it easier to refer to and manipulate a set of JGoObjects, without having to use a JGoSelection.

It is easier to make copies of JGoObjects. You can add a copy of a JGoObject to a JGoDocument by calling the JGoDocument.addCopy method. If you need a copy of a JGoObject without adding it to a document, you can call the JGoObject.copy method. Both of these methods perform the copy correctly by using two passes to make sure any references within or among the objects being copied are maintained.

We have refactored the JGoSubGraph class by splitting out the basic concept into a JGoSubGraphBase class. This makes it easier for you to implement your own subgraph-like classes without inheriting the implementation and expectations regarding there being a Label or a Port, nor whether the subgraph is collapsible and has a Handle.

For Swing, there are two new sample applications:

BoxApp: http://www.nwoods.com/forum/forum_posts.asp?TID=1821

UpdateDemo: http://www.nwoods.com/forum/forum_posts.asp?TID=1822

For SWT, there is now support for advanced graphics, so that shapes are drawn with anti-aliasing. JGo for SWT now requires SWT version 3.2.

SWT Support

Responding to the exploding use of Eclipse™ and SWT, we have also reimplemented JGo to run on SWT in addition to Swing/Java2D/AWT.

JGO SWT is sold as a separate product family with the same options and pricing as JGo Swing. The major features of JGo SWT are:

  • Implemented to have no dependence on AWT, Swing, or Java2D
  • Does not depend on the Eclipse framework besides SWT itself, so it is easy to create stand-alone applications
  • Maintains source-code compatibility (to the degree possible) with JGo for Swing, so porting JGo-related code in either direction is easy
  • Requires SWT version 3.0 or later

There is currently no support for JGoInstruments in JGo SWT.

New in JGo 5.2

  • added JGoCollection, a light weight JGoObjectCollection that you can pass to any method that requires a JGoObjectCollection or JGoObjectSimpleCollection
  • added JGoDocument property: LinksLayer, the layer to hold links; initially same as JGoDocument.getDefaultLayer()
  • added JGoDocument.add method, which adds links to the JGoDocument.getLinksLayer() and non-links to the getDefaultLayer()
  • added JGoDocument.addCopy method, a convenient way to make a copy of a JGoObject and add it to a JGoDocument
  • added JGoObject.copy method, a convenient way to make a copy of a JGoObject without adding it to a JGoDocument
  • added JGoSelection.toArray, addArray, and addCollection
  • added JGoViewEvent.SELECTION_STARTING and SELECTION_FINISHED events, raised before and after many objects are selected or de-selected
  • changed, improved JGoPrintPreview (Swing)
  • refactored JGoSubGraph by splitting into a new base class, JGoSubGraphBase, that can be used to implement your own subgraphs
  • added UpdateDemo and BoxApp example applications (Swing)

New in 5.1

  • Added JGoArea.addCollection and JGoLayer.addCollection, to support reparenting nodes without getting the links disconnected
  • Many JGoSubGraph enhancements
  • New picking and selecting methods and properties
  • Added JGoDocument.isUnoccupied, to tell whether there are any "avoidable" objects in a rectangular region
  • Added JGoDocument ValidCycle property, with associated constants and methods
  • Improved support for headless servers
  • Improved stroke path for self-loop links to observe Curviness value
  • Added JGoLink RoundedCorners property
  • Added JGoObject.isUpdatePartner, setUpdatePartner, and partnerUpdate method, called by JGoObject.update
  • Added JGoView.printPreview
  • Added JGoActionObject interface and a new state to JGoView for handling JGoActionObjects, such as buttons or knobs
  • Improved routing of Orthogonal links in layered-digraph autolayout
  • Added overloads to various JGoNetwork methods to take JGoObject instead of JGoNetworkNode, for convenience in customizing the network that will be laid out
  • Added JGoXMLSaveRestore interface for easier persistence of custom objects
  • Added SVGImage example class
  • Added RotText and RotImage example classes to Demo1
  • Added JTreeApp example app

New in 5.0

  • Improved bean support
    • Bean information provided for JGoView, JGoPalette, and JGoOverview, allowing tighter integration with most Java IDEs, including visual editing of user interfaces, property editors, and easier association of event listeners.
  • Added JGoOverview and JGoPalette (previously example classes, but now with additional features)
  • Added many view events (cases of JGoViewEvent, such as LINK_CREATED and OBJECT_EDITED)
  • Improved moving and copying to avoid recalculating link strokes
  • Added AdjustingStyle property to JGoLink, to control how the link stroke is replotted when a port is moved
  • Added Curviness property to JGoLink, so that cubic (Bezier) links are automatically curved
  • Added ValidSelfNode and ValidDuplicateLinks properties to JGoPort, heeded by JGoPort.validLink
  • Added methods to JGoArea (moveChildren, rescaleChildren, and layoutChildren) called by geometryChange and geometryChangeChild
  • Added AutoRescale property to JGoObject, heeded by JGoArea.rescaleChildren
  • Added generic JGoNode class
  • Added JGoBasicNode, JGoIconicNode, JGoTextNode, JGoSubGraph (previously example classes, but now with additional features)
  • Added PartID property to JGoLink and JGoPort and JGoNode, maintained by JGoDocument when JGoDocument.setMaintainsPartIDs(true)
  • Added some flexibility to SVG generation
  • Improved performance of JGoLayeredDiagraphAutoLayout
  • Changed example code:
    • overrides assume super JGoArea.copyChildren copies all child objects and adds them to the area
    • replaced overrides of geometryChange and geometryChangeChild with overrides of layoutChildren
    • changed overrides of JGoPort.validLink to use new ValidSelfNode and ValidDuplicateLinks functionality

New in 4.1
  • SVG
  • graphs within graphs
  • text wrapping
  • Bezier curves (strokes, links and polygons)
  • automatic routing of orthogonal links to avoid nodes
  • extensive and customizable user-input features
  • new example classes and applications
  • and dozens of other new features.

New in 4.0

  • example servlet using JPEGView to produce images for web servers (see sample online)
  • support for Swing undo/redo
  • option to allow views to show objects at negative coordinates
  • greeking of JGoText and JGoPort at small scales, sensitive to printing
  • DefaultBase property for JGoImages, for convenience when loading images in Applets
  • resizing a link to connect it to a new port now modifies the existing link
  • example code for reading and writing XML files for Flower processes
  • new GeneralNode example classes, with varying numbers of labeled ports
  • new JPEGView example class, to demonstrate producing JPEG images from documents
  • new Overview example class in Demo1, allowing navigation of another view
  • improvements to the Flower editor sample

 Features of JGo

JGo has full support for the Java 2 platform:

  • Swing based views
  • Java2D features such as thick and dotted line pens
  • drag-and-drop support between components
  • tooltips for JGo objects
  • scaling views (zooming in and out)
  • orthogonal links
  • printing framework
  • good documentation
  • many performance optimizations, in both time and space 
  • several useful example applications
  • support for JComponents as JGoControls
  • control over JGoGridView grid appearance and behavior
  • view events and listeners (to be notified of selection changes or double-clicks)
  • documents, selections and objects are Serializable
  • documents and selections are Transferable
  • support for automatic layout, available as a separate add-on product
  • layers of objects within documents
  • support for Linux
  • a "modifiable" property for documents and layers, for easy "read-only-ness"
  • various improvements to strokes / links / labeledlinks
  • built-in ability to allow users to copy as well as move within a view
  • a JGo.jar file is included, so that you don't have to build it yourself

Platforms

JGo works with all the popular Java development environments that support the Java 2 platform.

JGo 5.1 also supports the SWT / Eclipse environment.

JGo can be used in a servlet in a J2EE environment.

Customer Gallery

Our Customer Gallery: see the diverse set of applications our customers are building.

 

 

 

"The layout package is what ultimately sold me on the JGo products. While the standard JGo library is good, it is great with the addition of the layout algorithms."

 

 

 
Copyright © 1995-2008 Northwoods Software®. All rights reserved.