visad.java2d
Class VisADCanvasJ2D

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byvisad.java2d.VisADCanvasJ2D
All Implemented Interfaces:
Accessible, ImageObserver, MenuContainer, Runnable, Serializable

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 inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
(package private)  boolean captureFlag
           
(package private)  BufferedImage captureImage
           
(package private)  MouseHelper helper
           
(package private)  Dimension prefSize
           
(package private)  boolean timeout
           
(package private)  boolean wakeup
           
 
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.Container
 
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)
           
(package private)  void setClip(float xlow, float xhi, float ylow, float yhi)
           
(package private)  void setDirect(VisADGroup d, VisADGroup nd)
           
 void setPreferredSize(Dimension size)
           
 void stop()
           
(package private)  void unsetClip()
           
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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
 

Field Detail

prefSize

Dimension prefSize

captureFlag

boolean captureFlag

captureImage

BufferedImage captureImage

helper

MouseHelper helper

wakeup

boolean wakeup

timeout

boolean timeout
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.

setDirect

void setDirect(VisADGroup d,
               VisADGroup nd)

setClip

void setClip(float xlow,
             float xhi,
             float ylow,
             float yhi)

unsetClip

void unsetClip()

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)

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()

setPreferredSize

public void setPreferredSize(Dimension size)

getAutoAspect

public boolean getAutoAspect()

setAutoAspect

public void setAutoAspect(boolean auto)

setBounds

public void setBounds(int x,
                      int y,
                      int width,
                      int height)