net.sf.j3d.threeD.ui.displays
Class ImageCanvas

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 net.sf.j3d.threeD.ui.displays.ImageCanvas
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public class ImageCanvas
extends JPanel

An ImageCanvas object stores image data and paints its parent class (JPanel) using the image.

Author:
Mike Murray
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, 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
ImageCanvas(int w, int h)
           
ImageCanvas(int w, int h, double xScale, double yScale, double xOff, double yOff)
          Constructs a new ImageCanvas object.
 
Method Summary
 void clear()
          Clears this ImageCanvas object.
 RGB[][] getImageData()
           
 double getXOffset()
           
 double getXScale()
           
 double getYOffset()
           
 double getYScale()
           
 void paint(Graphics g)
          Overrides normal JPanel paint method.
 void plot(double x, double y, RGB c)
          Plots a point on this ImageCanvas object.
 void setImageData(int i, int j, RGB rgb)
          Sets the color at a pixel in the image data stored by this ImageCanvas object.
 void setImageData(RGB[][] image)
          Sets the image data stored by this ImageCanvas object.
 void setXOffset(double xOff)
           
 void setXScale(double xScale)
           
 void setYOffset(double yOff)
           
 void setYScale(double yScale)
           
 void writeImage(String file)
          Writes the image data stored by this ImageCanvas object out to the specified file.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, 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, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, 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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ImageCanvas

public ImageCanvas(int w,
                   int h)

ImageCanvas

public ImageCanvas(int w,
                   int h,
                   double xScale,
                   double yScale,
                   double xOff,
                   double yOff)
Constructs a new ImageCanvas object.

Parameters:
w - Image width.
h - Image height.
xScale - X scale factor.
yScale - Y scale factor.
xOff - X offset.
yOff - Y offset.
Method Detail

setXScale

public void setXScale(double xScale)

setYScale

public void setYScale(double yScale)

setXOffset

public void setXOffset(double xOff)

setYOffset

public void setYOffset(double yOff)

getXScale

public double getXScale()

getYScale

public double getYScale()

getXOffset

public double getXOffset()

getYOffset

public double getYOffset()

plot

public void plot(double x,
                 double y,
                 RGB c)
Plots a point on this ImageCanvas object.

Parameters:
x - X coordinate.
y - Y coordinate.
c - Color to use for point.

setImageData

public void setImageData(int i,
                         int j,
                         RGB rgb)
Sets the color at a pixel in the image data stored by this ImageCanvas object.

Parameters:
i - Index into image array.
j - Index into image array.
rgb - RGB object to use for pixel color.

setImageData

public void setImageData(RGB[][] image)
Sets the image data stored by this ImageCanvas object.

Parameters:
image - RGB array to use for image data.

getImageData

public RGB[][] getImageData()
Returns:
The image data stored by this ImageCanvas object.

clear

public void clear()
Clears this ImageCanvas object.


writeImage

public void writeImage(String file)
Writes the image data stored by this ImageCanvas object out to the specified file.

Parameters:
file - File name.

paint

public void paint(Graphics g)
Overrides normal JPanel paint method.

Overrides:
paint in class JComponent