Previous ION Java User's Guide: Overview of the ION Java Classes Next

The ION Java Class Hierarchy

ION Java consists of three levels of Java classes:

The relationship between the ION Java classes is illustrated in Figure 3-1 in the Unified Modeling Language (UML).

 

Figure 3-1: The ION Java Classes

Figure 3-1: The ION Java Classes


Note
In Figure 3-1, classes that contain Component represent Contour, Map, Plot, and Surface. For example, IONComponent represents the IONContour, IONMap, IONPlot, and IONSurface classes.

ION Low-Level Classes

The ION low-level classes are the most basic building blocks of ION applications. The ION low-level classes are the only classes required to build ION applications that contain IDL data and graphics output. All other ION Java classes are built on top of these low-level classes. The ION low-level classes provide a degree of control not available with the ION Graphics Component classes, but require more sophisticated Java and IDL programming skills. Each of the ION low-level classes is described below:

IONCallableClient

IONCallableClient provides mechanisms to handle communication with the server, execution of IDL commands, retrieving IDL command log output and the getting and setting of IDL variables on the ION Server. IONCallableClient is the only class required to write a non-graphical ION application.

IONGraphicsClient

This class provides mechanisms to handle the processing of graphic primitive data sent from the ION Server. Information sent by the server is read by mechanisms provided by the parent class IONCallableClient.

IONWindowingClient

This class provides mechanisms to handle the processing of the windowing commands that are part of an IDL Direct Graphics driver. This includes the creation, deletion, showing, hiding, and iconization of windows on the client.

IONDrawable

This interface defines the methods that an object must implement to act as an ION drawable object. An ION drawable is an object that can be drawn to by an IONGraphicsClient. This interface is implemented as either an IONCanvas or IONOffScreen object.

IONCanvas / IONJCanvas

These classes represents a visible drawing area upon which graphics can be displayed. They implement the ION Drawable interface.

IONOffScreen

This class represents an undisplayed drawing area on which graphic output can be placed. This implements the ION Drawable interface

IONCommandDoneListener

This interface defines the methods a class must implement to register and to receive notification that an IDL command has completed.

IONMouseListener (deprecated)

This interface defines the callback methods that a class must define to be notified of mouse events occurring on an object that implements the IONDrawable interface. This interface is deprecated in ION 6.4. It is recommended that you use the more robust Java MouseListener and/or the Java MouseMotionListener.

IONOutputListener

This interface defines the methods that a class must implement to receive ION Server output text.

IONVariable

This class is a client side representation of an IDL variable. IONVariable objects are used to read and write data between the IDL server and clients.

IONComplex

This class is the client side representation of IDL's single-precision complex number.

IONDComplex

This class is the client side representation of IDL's double-precision complex number.

ION Component Classes

The ION Component classes are a set of high level Java classes that provide a rapid and powerful way to include IDL graphics in a Java application or Java applet. Built on top of the low-level classes, the Component classes encapsulate specific IDL functionality and provide a simpler interface, which allows you to connect to the ION Server and display graphics generated by IDL. The component classes are easier to use than the low-level classes, while providing less flexibility.

IONGrConnection

An IONGrConnection object provides a connection between the ION Server and the client. In addition to establishing and ending the connection, IONGrConnection allows you to get and set the values of IDL variables on the ION Server, add and remove drawable objects to the connection, and execute IDL commands directly. It also logs server messages automatically, and displays them via IONGrDrawable/IONJGrDrawable.

IONGrDrawable / IONJGrDrawable

An IONGrDrawable object creates a drawing area that presents graphics produced by the ION Server. IONGrDrawable allows you to configure the drawing area to draw one or more objects, add and remove graphic objects from a drawable, and execute IDL commands directly. An IONGrDrawable also contains a debug window. Objects of this type can be inserted into the AWT tree. The IONGrDrawable class is the AWT implementation, and IONJGrDrawable is the Swing implementation.

IONContour / IONJContour

An IONContour object represents a contour graphic and a drawing area. IONContour allows you to get and set properties of the contour (via keywords to the IDL CONTOUR routine) and to draw the contour object. IONContour extends IONGrDrawable and includes an IONGrContour object. IONContour is the AWT implementation, and IONJContour is the Swing implementation.

IONMap / IONJMap

An IONMap object represents a map graphic and drawing area. IONMap allows you to get and set map properties (via keywords to the IDL MAP_SET procedure) and to draw the map. Several other classes can be used with IONMap, including IONGrMapContinents, IONGrMapGrid, and IONGrMapImage. IONMap extends IONGrDrawable and includes an IONGrMap object. IONMap is the AWT implementation, and IONJMap is the Swing implementation.

IONPlot / IONJPlot

An IONPlot object represents a plot and a drawing area. IONPlot allows you to get and set properties of the plot (via keywords to the IDL PLOT routine) and to draw the plot object. IONPlot extends IONGrDrawable and includes an IONGrPlot object. IONPlot is the AWT implementation, and IONJPlot is the Swing implementation.

IONSurface / IONJSurface

An IONSurface object represents a surface graphic and a drawing area. IONSurface allows you to get and set properties of the surface (via keywords to the IDL SURFACE routine) and to draw the surface object. IONSurface extends IONGrDrawable and includes an IONGrSurface object. IONSurface is the AWT implementation, and IONJSurface is the Swing implementation.

IONGrGraphic

An IONGrGraphic object provides methods used to manage graphic properties. The other IONGr objects extend this object. IONGrGraphic allows you to get and set graphic properties, and to manage property lists for the graphic object.

IONGrContour

An IONGrContour object is a property manager for a contour graphic. IONGrContour allows you to get and set properties of the contour plot via keywords to the IDL CONTOUR procedure, but does not contain a drawing area. (Use IONContour if you want a contour an object and a drawing area managed by a single object.) IONGrContour extends IONGrGraphic. The IONGr* components are useful for overlaying graphics on top of one another.

IONGrMap

An IONGrMap object is a property manager for a map graphic. IONGrMap allows you to get and set the properties of the map via keywords to the IDL MAP_SET procedure, but does not contain a drawing area. (Use IONMap if you want a map object and a drawing area managed by a single object.) IONGrMap extends IONGrGraphic. The IONGr* components are useful for overlaying graphics on top of one another.

IONGrMapContinents

An IONGrMapContinents object allows you to get and set properties of map outlines such as continental and political boundaries, coastlines, and rivers.

IONGrMapGrid

An IONGrMapGrid object allows you to get and set properties of map grids to be drawn on a map projection.

IONGrMapImage

An IONGrMapImage object allows you to get and set properties of images to be projected onto a map projection.

IONGrPlot

An IONGrPlot object is a property manager for a plot graphic. IONGrPlot allows you to get and set properties of the plot via keywords to the IDL PLOT procedure, but does not contain a drawing area. (Use IONPlot if you want a plot object and a drawing area managed by a single object.) IONGrPlot extends IONGrGraphic. The IONGr* components are useful for overlaying graphics on top of one another.

IONGrSurface

An IONGrSurface object is a property manager for a surface graphic. IONGrSurface allows you to get and set properties of the surface via keywords to the IDL SURFACE procedure, but does not contain a drawing area. (Use IONSurface if you want a surface object and a drawing area managed by a single object.) IONGrSurface extends IONGrGraphic. The IONGr* components are useful for overlaying graphics on top of one another.

ION Pre-Built Applets

The ION Pre-Built Applets allow you to interact with the ION Server with a minimum of Java knowledge or experience. Because the applets are pre-built, you can include them in Web pages using only HTML code.

IONGraphicApplet

The IONGraphicApplet is a general purpose applet that is used to execute a series of IDL commands and display the results.

IONContourApplet

The IONContourApplet displays an IDL contour plot. The X, Y and Z values of the plot and most IDL Contour properties supported by ION can be set through parameters to the applet.

IONMapApplet

The IONMapApplet is an applet that displays 2D data on a map projection. The data can be displayed as an image or a contour plot and can contain latitude/longitude grid lines, and landmass and political boundaries. The applet is capable of projecting multiple contour plots, one image, latitude/longitude grid lines, and boundaries onto the drawing area.

IONPlotApplet

The IONPlotApplet displays an IDL plot. The X and Y values of the plot and most IDL plot properties supported by ION can be set through parameters to the applet.

IONSurfaceApplet

The IONSurfaceApplet displays an IDL Surface plot. The X, Y and Z values of the plot and most IDL Surface properties supported by ION can be set through parameters to the applet.

  IDL Online Help (March 06, 2007)