visad.java2d
Class VisADCanvasJ2D

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by visad.java2d.VisADCanvasJ2D
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Runnable, Accessible

public class VisADCanvasJ2D
extends JPanel
implements Runnable

VisADCanvasJ2D is the VisAD "Canvas" for Java2D. But not really a Canvas, since Canvas is heavyweight.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
VisADCanvasJ2D(DisplayRendererJ2D renderer, Component c)
           
VisADCanvasJ2D(DisplayRendererJ2D renderer, int w, int h)
          Constructor for offscreen rendering.
 
Method Summary
 void addKeyboardBehavior(KeyboardBehaviorJ2D behavior)
          Add a KeyboardBehavior for keyboard control of translation and zoom.
 void addMouseBehavior(MouseBehaviorJ2D mouse)
          Add a MouseBehavior for mouse control of translation and zoom.
 void createImages(int len)
           
static void drawAppearance(Graphics graphics, VisADAppearance appearance, AffineTransform t, Rectangle2D.Float clip)
          This assumes only VisADPointArray or VisADLineArray.
 boolean getAutoAspect()
           
 float[] getBackgroundColor()
          Return the background color.
 Dimension getPreferredSize()
           
 AffineTransform getTransform()
           
 void paintComponent(Graphics g)
           
 void renderTrigger()
          trigger render to screen
 void run()
           
 void scratchImages()
           
 void setAutoAspect(boolean auto)
           
 void setBackgroundColor(float r, float g, float b)
          Set the background color.
 void setBounds(int x, int y, int width, int height)
           
 void setPreferredSize(Dimension size)
           
 void stop()
           
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

VisADCanvasJ2D

public VisADCanvasJ2D(DisplayRendererJ2D renderer,
                      Component c)

VisADCanvasJ2D

public VisADCanvasJ2D(DisplayRendererJ2D renderer,
                      int w,
                      int h)
Constructor for offscreen rendering.

Parameters:
renderer -
w -
h -
Method Detail

getBackgroundColor

public float[] getBackgroundColor()
Return the background color.

Returns:
A 3 element array of float values in the range [0.0f - 1.0f] in the order (Red, Green, Blue).

setBackgroundColor

public void setBackgroundColor(float r,
                               float g,
                               float b)
Set the background color. All values should be in the range [0.0f - 1.0f].

Parameters:
r - Red value.
g - Green value.
b - Blue value.

addMouseBehavior

public void addMouseBehavior(MouseBehaviorJ2D mouse)
Add a MouseBehavior for mouse control of translation and zoom. This adds MouseListeners to the VisADCanvasJ2D to handle the behaviors for the mouse events. Do not use this in conjunction with other MouseListeners that handle events for the default VisAD mouse controls.

Parameters:
mouse - mouse behavior to add

addKeyboardBehavior

public void addKeyboardBehavior(KeyboardBehaviorJ2D behavior)
Add a KeyboardBehavior for keyboard control of translation and zoom. This adds a KeyListener to the VisADCanvasJ2D to handle the behaviors for the arrow keys. Do not use this in conjunction with other KeyListeners that handle events for the arrow keys.

Parameters:
behavior - keyboard behavior to add

createImages

public void createImages(int len)

scratchImages

public void scratchImages()

renderTrigger

public void renderTrigger()
trigger render to screen


stop

public void stop()

run

public void run()
Specified by:
run in interface Runnable

paintComponent

public void paintComponent(Graphics g)
Overrides:
paintComponent in class JComponent

drawAppearance

public static void drawAppearance(Graphics graphics,
                                  VisADAppearance appearance,
                                  AffineTransform t,
                                  Rectangle2D.Float clip)
This assumes only VisADPointArray or VisADLineArray.

Parameters:
graphics -
appearance -
t -
clip -

getTransform

public AffineTransform getTransform()

getPreferredSize

public Dimension getPreferredSize()
Overrides:
getPreferredSize in class JComponent

setPreferredSize

public void setPreferredSize(Dimension size)
Overrides:
setPreferredSize in class JComponent

getAutoAspect

public boolean getAutoAspect()

setAutoAspect

public void setAutoAspect(boolean auto)

setBounds

public void setBounds(int x,
                      int y,
                      int width,
                      int height)
Overrides:
setBounds in class Component