|
SGT Home | |||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||||
java.lang.Object
|
+--java.awt.Component
|
+--java.awt.Container
|
+--gov.noaa.pmel.sgt.Pane
JPane.
The Pane class is extended from java.awt.Container
and is the basis for the gov.noaa.pmel.sgt package.
The Java scientific graphics toolkit is designed to allow a
graphics client developer a great deal of flexibility and freedom.
sgt is a package that greatly aids a developer in
creating graphics applets. sgt is not a general
purpose graphics package, but provides the tools to enable
scientific graphics to be easily incorporated into Applets.
sgt has three main components, the "pane", on which
all graphics are drawn. The Pane is a fairly simple
class and all drawing is done in "device" coordinates (pixels).
By default, the Pane will draw on the screen, but it is
designed to allow drawing in an offscreen buffer that can be
printed (for applications).
The next component is the Layer. Several
Layers can be associated with a single
Pane. The Layer class insulates
the developer from the details of device coordinates by
using "physical" coordinates. Physical coordinates are
a right-hand coordinate systems with an origin of (0.0, 0.0) in the
lower-left-hand corner and have the same scale in both the vertical
and horizontal directions. Thus, a Layer that is
5.0 units wide and 3.0 units high can be made larger and smaller
on the screen by resizing the Pane, but will not be
distorted. The Layer class is responsible for
displaying labels, keys (color, vector, and line), and rulers.
A Layer can contain a single Graph.
Finally, the Graph component transforms from
user coordinates (e.g. cm/sec, time, degC, or meters) to
physical coordinates. The Graph
classes handle the display of axes and data. Children of
the Graph class are capable of creating Cartesian,
polar, and map graphics. For Cartesian graphs, several different
axes (log, plain and time), transforms (linear, log, and
tablelookup), and CartesianGraph (pixel,
line, vector, and contour) classes are available. These classes can be
combined in almost any combination.
While only one dataset may be plotted per Layer,
co-plotting is supported by allowing layers to use the same
transform objects. The order that the layers are plotted can
be changed, allowing the developer (or user) to control what
may be obscured.
Member functions, in package gov.noaa.pmel.sgt,
follow the following naming convention. Member functions that
have a P, U, or nothing at the end of the
function name are of type double in Physical
units, type double in User units, and type int in Device
units, respectively.
Variables that start with p, u, t, or d are coordinates of type physical,
user, time, or device, respectively.
All graphics are rendered when the draw() method is invoked.
Mouse Events
Mouse events are processed by the JPane object to support
object selection and zooming. Object selection is accomplished by
left clicking the mouse on the desired object. JPane
then fires a PropertyChangeEvent of type
"objectSelected" that can be listened for by the users application.
The user application then invokes the
getSelectedObject() method. Zooming is accomplished in
several steps.
1) Begin a zoom operation by pressing the left button.
2) Describe a zoom rectangle by dragging the mouse with the left
button down.
3) Finish the zoom operation by releasing the left mouse button.
When the mouse button has been release JPane fires a
PropertyChangeEvent of type "zoomRectangle" that can
be listened for by the users application. The user application can
then obtain the zoom rectangle by invoking the
getZoomBounds() method.
An example of object selection and zooming can be found in the
JPane documentation.
Layer,
Graph,
Graphics,
Serialized Form| Field Summary |
| Fields inherited from class java.awt.Component |
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
| Fields inherited from interface gov.noaa.pmel.sgt.AbstractPane |
BOTTOM, CENTER, DEFAULT_SCALE, LEFT, MIDDLE, RIGHT, SHRINK_TO_FIT, SPECIFIED_LOCATION, TO_FIT, TOP |
| Fields inherited from interface java.awt.image.ImageObserver |
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
| Constructor Summary | |
Pane()
Deprecated. Default constructor. |
|
Pane(java.lang.String id,
java.awt.Dimension size)
Deprecated. Constructs a Pane. |
|
| Method Summary | |
java.awt.Component |
add(java.awt.Component comp)
Deprecated. Adds the specified component to the end of the Pane. |
java.awt.Component |
add(java.awt.Component comp,
int index)
Deprecated. Adds the specified component to the Pane at the
given position. |
void |
add(java.awt.Component comp,
java.lang.Object constraints)
Deprecated. Adds the specified component to the end of this Pane. |
void |
add(java.awt.Component comp,
java.lang.Object constraints,
int index)
Deprecated. Adds the specified component to the end of this Pane
at the specified index. |
java.awt.Component |
add(java.lang.String name,
java.awt.Component comp)
Deprecated. Adds the specified component to this Pane. |
void |
addPropertyChangeListener(java.beans.PropertyChangeListener l)
Deprecated. Add a PropertyChangeListener to the list. |
void |
draw()
Deprecated. The AbstractPane and all of the attached Classes
will be drawn. |
void |
draw(java.awt.Graphics g)
Deprecated. The AbstractPane and all of the attached Classes
will be drawn. |
void |
draw(java.awt.Graphics g,
int width,
int height)
Deprecated. The AbstractPane and all of the attached Classes
will be drawn. |
java.awt.Component |
getComponent()
Deprecated. Get the Component associated with
the pane. |
Layer |
getFirstLayer()
Deprecated. Get the first Layer associated with the Pane |
java.lang.String |
getId()
Deprecated. Get the Pane identifier. |
Layer |
getLayer(java.lang.String id)
Deprecated. Get the Layer associated with the
Pane indicated by the id. |
Layer |
getLayerFromDataId(java.lang.String id)
Deprecated. Get the Layer associated with the
Pane indicated by the data id. |
java.awt.Dimension |
getMaximumSize()
Deprecated. |
java.awt.Dimension |
getMinimumSize()
Deprecated. |
java.lang.Object |
getObjectAt(int x,
int y)
Deprecated. Get the current selected object at a point. |
java.lang.Object[] |
getObjectsAt(int x,
int y)
Deprecated. Return an array of objects whose bounds include x,y. |
java.lang.Object[] |
getObjectsAt(java.awt.Point pt)
Deprecated. Return an array of objects whose bounds are at point pt. |
int |
getPageHAlign()
Deprecated. Get horizontal alignment for printing. |
java.awt.Point |
getPageOrigin()
Deprecated. Get the printer page origin. |
int |
getPageScaleMode()
Deprecated. Get printing scale mode. |
java.awt.Dimension |
getPageSize()
Deprecated. Get the printer page size. |
int |
getPageVAlign()
Deprecated. Get vertical alignment for printing. |
java.awt.Dimension |
getPreferredSize()
Deprecated. |
java.lang.Object |
getSelectedObject()
Deprecated. Return the last object selected. |
static StrokeDrawer |
getStrokeDrawer()
Deprecated. Internal access to jdk1.1 or Java2D line drawing. |
static java.lang.String |
getVersion()
Deprecated. Return the version of SGT. |
java.awt.Rectangle |
getZoomBounds()
Deprecated. Return the device coordinates of the zoom action. |
java.awt.Point |
getZoomStart()
Deprecated. Return the device coordinates of the start of the zoom action. |
void |
init()
Deprecated. No initialization required by Pane. |
boolean |
isBatch()
Deprecated. Is batching turned on? |
boolean |
isModified()
Deprecated. Has the plot been modified? |
boolean |
isMouseEventsEnabled()
Deprecated. Are MouseEvents enabled for processing by SGT? |
boolean |
isPrinter()
Deprecated. Test if the current Graphics object is a printer. |
void |
moveLayerDown(Layer lyr)
Deprecated. Move the Layer down in the stack. |
void |
moveLayerDown(java.lang.String id)
Deprecated. Move the Layer down in the stack. |
void |
moveLayerUp(Layer lyr)
Deprecated. Move the Layer up in the stack. |
void |
moveLayerUp(java.lang.String id)
Deprecated. Move the Layer up in the stack. |
void |
paint(java.awt.Graphics g)
Deprecated. Override of the parent paint method. |
void |
processMouseEvent(java.awt.event.MouseEvent event)
Deprecated. Overrides the default event methods. |
void |
processMouseMotionEvent(java.awt.event.MouseEvent event)
Deprecated. |
void |
removePropertyChangeListener(java.beans.PropertyChangeListener l)
Deprecated. Remove the PropertyChangeListener from the list. |
void |
setBatch(boolean batch)
Deprecated. Turn on/off batching of updates to the pane. |
void |
setBatch(boolean batch,
java.lang.String msg)
Deprecated. Turn on/off batching of updates to the pane. |
void |
setId(java.lang.String id)
Deprecated. Set the Pane identifier |
void |
setModified(boolean mod,
java.lang.String mess)
Deprecated. Notify the pane that something has changed and a redraw is required. |
void |
setMouseEventsEnabled(boolean enable)
Deprecated. Enable/disable the handling of MouseEvents by
SGT. |
void |
setPageAlign(int vert,
int horz)
Deprecated. Set alignment for printing. |
void |
setPageHAlign(int horz)
Deprecated. Set horizontal alignment for printing. |
void |
setPageOrigin(java.awt.Point p)
Deprecated. Set the printer page origin. |
void |
setPageScaleMode(int mode)
Deprecated. Set printing scale mode. |
void |
setPageVAlign(int vert)
Deprecated. Set vertical alignment for printing. |
void |
setSelectedObject(java.lang.Object obj)
Deprecated. Primarily used internally by sgt. |
void |
setSize(java.awt.Dimension d)
Deprecated. Set the size. |
java.lang.String |
toString()
Deprecated. Get a String representatinof the
Pane. |
void |
update(java.awt.Graphics g)
Deprecated. Updates the Pane |
| Methods inherited from class java.awt.Container |
addContainerListener, addNotify, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, remove, remove, removeAll, removeContainerListener, removeNotify, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, validate |
| Methods inherited from class java.awt.Component |
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, dispatchEvent, enable, enable, enableInputMethods, getAccessibleContext, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setVisible, show, show, size, transferFocus, transferFocusUpCycle |
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface gov.noaa.pmel.sgt.AbstractPane |
getBounds |
| Constructor Detail |
public Pane(java.lang.String id,
java.awt.Dimension size)
Pane.
id - the Pane identifiersize - the size of the Pane in pixelspublic Pane()
import gov.noaa.pmel.sgt.Pane;
...
Pane pane;
...
pane = new Pane("main graph", new Dimension(400, 500));
pane.setLayout(new StackedLayout());
...
StackedLayout| Method Detail |
public static java.lang.String getVersion()
public void draw()
AbstractPaneAbstractPane and all of the attached Classes
will be drawn. Drawing will occur in an offscreen image and then
copied to the screen. A new offscreen image is created on the
first call to draw() or if the size of the pane has been
changed. The offscreen image will be used as a "double" buffer
when the screen requires redrawing.
Each Layer that has been added will be drawn in the
order added, except if that order has been change using the
moveLayerUp() or moveLayerDown() methods.
draw in interface AbstractPaneGraphics,
Layerpublic void init()
init in interface AbstractPanepublic void draw(java.awt.Graphics g)
AbstractPaneAbstractPane and all of the attached Classes
will be drawn. Drawing will occur using the supplied
Graphics object.
draw in interface AbstractPaneg - User supplied Graphics objectGraphics
public void draw(java.awt.Graphics g,
int width,
int height)
AbstractPaneAbstractPane and all of the attached Classes
will be drawn. Drawing will occur using the supplied
Graphics object. And clipping will be done to the
width and height.
draw in interface AbstractPaneg - User supplied Graphics objectwidth - clipping widthheight - clipping heightGraphicspublic boolean isPrinter()
AbstractPaneGraphics object is a printer.
isPrinter in interface AbstractPanepublic static StrokeDrawer getStrokeDrawer()
public java.awt.Dimension getPageSize()
AbstractPane
getPageSize in interface AbstractPanepublic void update(java.awt.Graphics g)
Pane
update in class java.awt.Containerpublic void paint(java.awt.Graphics g)
paint method. This method should not be
called by a user.
paint in class java.awt.Containerpublic java.awt.Component add(java.awt.Component comp)
Pane.
add in class java.awt.Containercomp - the component to be added
public java.awt.Component add(java.awt.Component comp,
int index)
Pane at the
given position.
add in class java.awt.Containercomp - the component to be addedindex - the position at which to insert the component, or -1
to insert the component at the end.
public void add(java.awt.Component comp,
java.lang.Object constraints)
Pane.
Also notifies the layout manager to add the component to this
Pane's layout using the specified constraints object.
add in class java.awt.Containercomp - the component to be addedconstraints - an object expressing layout constraints for
this component
public void add(java.awt.Component comp,
java.lang.Object constraints,
int index)
Pane
at the specified index.
Also notifies the layout manager to add the component to this
Pane's layout using the specified constraints object.
add in class java.awt.Containercomp - the component to be addedconstraints - an object expressing layout constraints for
this componentindex - the position in the Pane's list at which to
insert the component -1 means insert at the end.
public java.awt.Component add(java.lang.String name,
java.awt.Component comp)
Pane. It
is strongly advised to use add(Component, Object), in place
of this method.
add in class java.awt.Containerpublic java.lang.String getId()
AbstractPanePane identifier.
getId in interface AbstractPaneString containing the Pane identifier.public void setId(java.lang.String id)
AbstractPanePane identifier
setId in interface AbstractPane
public void setPageAlign(int vert,
int horz)
AbstractPane
setPageAlign in interface AbstractPanevert - vertical alignmenthorz - horizontal alignmentAbstractPane.TOP,
AbstractPane.MIDDLE,
AbstractPane.BOTTOM,
AbstractPane.LEFT,
AbstractPane.CENTER,
AbstractPane.RIGHT,
AbstractPane.SPECIFIED_LOCATIONpublic void setPageVAlign(int vert)
AbstractPaneTOP,
MIDDLE, and BOTTOM for vert and
LEFT, CENTER, and RIGHT
for horz. Either can be SPECIFIED_LOCATION.
setPageVAlign in interface AbstractPanevert - vertical alignmentAbstractPane.TOP,
AbstractPane.MIDDLE,
AbstractPane.BOTTOM,
AbstractPane.SPECIFIED_LOCATIONpublic void setPageHAlign(int horz)
AbstractPaneTOP,
MIDDLE, and BOTTOM.
setPageHAlign in interface AbstractPanehorz - horizontal alignmentAbstractPane.LEFT,
AbstractPane.CENTER,
AbstractPane.RIGHT,
AbstractPane.SPECIFIED_LOCATIONpublic int getPageVAlign()
AbstractPaneLEFT, CENTER, and RIGHT.
getPageVAlign in interface AbstractPaneAbstractPane.TOP,
AbstractPane.MIDDLE,
AbstractPane.BOTTOM,
AbstractPane.SPECIFIED_LOCATIONpublic int getPageHAlign()
AbstractPane
getPageHAlign in interface AbstractPaneAbstractPane.LEFT,
AbstractPane.CENTER,
AbstractPane.RIGHT,
AbstractPane.SPECIFIED_LOCATIONpublic void setPageOrigin(java.awt.Point p)
AbstractPaneSPECIFIED_LOCATION or
VAlign = SPECIFIED_LOCATION.
setPageOrigin in interface AbstractPanepublic java.awt.Point getPageOrigin()
AbstractPaneSPECIFIED_LOCATION or
VAlign = SPECIFIED_LOCATION.
getPageOrigin in interface AbstractPanepublic void setSize(java.awt.Dimension d)
setSize in class java.awt.Componentpublic Layer getFirstLayer()
AbstractPaneLayer associated with the Pane
getFirstLayer in interface AbstractPaneLayer object
public Layer getLayer(java.lang.String id)
throws LayerNotFoundException
AbstractPaneLayer associated with the
Pane indicated by the id.
getLayer in interface AbstractPaneid - identifier.
LayerNotFoundException - The Layer indicated by the id was not found.
public Layer getLayerFromDataId(java.lang.String id)
throws LayerNotFoundException
AbstractPaneLayer associated with the
Pane indicated by the data id.
getLayerFromDataId in interface AbstractPaneid - data identifier
LayerNotFoundException - The Layer indicated by the id was not found.SGTData
public void moveLayerUp(Layer lyr)
throws LayerNotFoundException
Layer up in the stack.
The order of the layers determine when they
are drawn. Moving the Layer up causes the
Layer to be drawn later and over earlier
layers.
lyr - Layer object.
LayerNotFoundException - The specified Layer was not found in the list.Layer
public void moveLayerUp(java.lang.String id)
throws LayerNotFoundException
Layer up in the stack.
The order of the layers determine when they
are drawn. Moving the Layer up causes the
Layer to be drawn later and over earlier
layers.
id - identifier.
LayerNotFoundException - The specified Layer was not found in the list.Layer
public void moveLayerDown(Layer lyr)
throws LayerNotFoundException
Layer down in the stack.
The order of the layers determine when they
are drawn. Moving the Layer down causes the
Layer to be drawn earlier.
lyr - Layer object.
LayerNotFoundException - The specified Layer was not found in the list.Layer
public void moveLayerDown(java.lang.String id)
throws LayerNotFoundException
Layer down in the stack.
The order of the layers determine when they
are drawn. Moving the Layer down causes the
Layer to be drawn earlier.
id - identifier
LayerNotFoundException - The specified Layer was not found in the list.Layerpublic java.lang.Object getSelectedObject()
AbstractPaneLayers currently connected to the
pane. AbstractPane tests
each layer after a MOUSE_DOWN event for an object whose bounding box
contains the mouse. The pane object then passes the event on to the next
level.
getSelectedObject in interface AbstractPanepublic void setSelectedObject(java.lang.Object obj)
AbstractPane
setSelectedObject in interface AbstractPanepublic void processMouseEvent(java.awt.event.MouseEvent event)
processMouseEvent in class java.awt.Componentpublic void processMouseMotionEvent(java.awt.event.MouseEvent event)
processMouseMotionEvent in class java.awt.Componentpublic java.awt.Rectangle getZoomBounds()
AbstractPane
getZoomBounds in interface AbstractPanepublic java.awt.Point getZoomStart()
AbstractPanePoint
is in device coordinates and may require transformation to physical units
or user units. Zoom start may be useful to indicate which graph to zoom.
getZoomStart in interface AbstractPane
public java.lang.Object getObjectAt(int x,
int y)
AbstractPane
getObjectAt in interface AbstractPane
public java.lang.Object[] getObjectsAt(int x,
int y)
AbstractPane
getObjectsAt in interface AbstractPanepublic java.lang.Object[] getObjectsAt(java.awt.Point pt)
AbstractPane
getObjectsAt in interface AbstractPanepublic java.awt.Component getComponent()
AbstractPaneComponent associated with
the pane.
getComponent in interface AbstractPanepublic java.awt.Dimension getMaximumSize()
getMaximumSize in class java.awt.Containerpublic java.awt.Dimension getMinimumSize()
getMinimumSize in class java.awt.Containerpublic java.awt.Dimension getPreferredSize()
getPreferredSize in class java.awt.Containerpublic java.lang.String toString()
String representatinof the
Pane.
toString in class java.awt.ComponentString representation
public void setBatch(boolean batch,
java.lang.String msg)
AbstractPanetrue property change events will
not cause pane to redraw. When batching is
turned back on if the pane has been modified it
will then redraw.
setBatch in interface AbstractPanepublic void setBatch(boolean batch)
AbstractPanetrue property change events will
not cause pane to redraw. When batching is
turned back on if the pane has been modified it
will then redraw.
setBatch in interface AbstractPanepublic boolean isBatch()
AbstractPane
isBatch in interface AbstractPane
public void setModified(boolean mod,
java.lang.String mess)
AbstractPane
setModified in interface AbstractPanepublic boolean isModified()
AbstractPane
isModified in interface AbstractPanepublic void setMouseEventsEnabled(boolean enable)
AbstractPaneMouseEvents by
SGT. Disabling mouse events will turn off object selection,
moveable, selectable, draggable, and zooming.
setMouseEventsEnabled in interface AbstractPanepublic boolean isMouseEventsEnabled()
AbstractPaneMouseEvents enabled for processing by SGT?
isMouseEventsEnabled in interface AbstractPanepublic void setPageScaleMode(int mode)
AbstractPaneTO_FIT,
SHRINK_TO_FIT and
DEFAULT_SCALE. Default = DEFAULT_SCALE.
setPageScaleMode in interface AbstractPanemode - print page scalingAbstractPane.DEFAULT_SCALE,
AbstractPane.TO_FIT,
AbstractPane.SHRINK_TO_FITpublic int getPageScaleMode()
AbstractPane
getPageScaleMode in interface AbstractPaneAbstractPane.DEFAULT_SCALE,
AbstractPane.TO_FIT,
AbstractPane.SHRINK_TO_FITpublic void addPropertyChangeListener(java.beans.PropertyChangeListener l)
AbstractPanePane and JPane include
"objectSelected" and "zoomRectangle".
addPropertyChangeListener in interface AbstractPaneaddPropertyChangeListener in class java.awt.Containerpublic void removePropertyChangeListener(java.beans.PropertyChangeListener l)
AbstractPane
removePropertyChangeListener in interface AbstractPaneremovePropertyChangeListener in class java.awt.Component
|
SGT Home | |||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||||