Java API

The Java API provides methods to create:
  1. Graphs
  2. Containers for those graphs that can also contain axes, titles etc
The above components are all subclasses of the Java Swing JPanel class.

Waterloo plots are not Swing components although they can be added to the graphs much as if they were. Instead, plots contain paint methods that are called from the paintComponent method of the graphs.

The GJGraph class

The GJGraph class provides the core component for Waterloo graphics.

The GJGraph is a heavily modified version of the JXGraph that is part of the SwingX project.

The JXGraph was originally written by Romain Guy for the "Filthy Rich Clients" book:
Filthy Rich Clients: Developing Animated and Graphical Effects for Desktop Java Applications by Chet Haase & Romain Guy. Addison-Wesley, 2008. ISBN: 9780131413930.