jsky.image.gui
Class ImageDisplayControl

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 jsky.image.gui.ImageDisplayControl
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Direct Known Subclasses:
NavigatorImageDisplayControl

public class ImageDisplayControl
extends javax.swing.JPanel

Combines an ImageDisplay with a control panel, zoom, and pan windows.

Version:
$Revision: 1.2 $
Author:
Allan Brighton
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  ImageColorbar colorbar
          Color bar
protected  java.lang.String filename
          Optional filename to load image from.
protected  DivaMainImageDisplay imageDisplay
          Main image display
protected  ImageDisplayStatusPanel imageDisplayStatusPanel
          Panel displaying information about the current mouse position
protected  ImagePanner imagePanner
          Pan window
protected  ImageZoom imageZoom
          Zoom window
protected  javax.swing.JPanel panZoomPanel
          Panel containing the pan and zoom windows
protected  javax.swing.plaf.basic.BasicArrowButton panZoomToggleButton
          Used to toggle the visibility of the pan/zoom windows
protected  java.awt.Component parent
          The top level parent frame (or internal frame) used to close the window
 
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
ImageDisplayControl(java.awt.Component parent)
          Make an ImageDisplayControl widget with the default settings
ImageDisplayControl(java.awt.Component parent, int size)
          Construct an ImageDisplayControl widget.
ImageDisplayControl(java.awt.Component parent, java.lang.String filename)
          Make an ImageDisplayControl widget with the default settings and display the contents of the image file.
ImageDisplayControl(java.awt.Component parent, java.net.URL url)
          Make an ImageDisplayControl widget with the default settings and display the contents of the image file pointed to by the URL.
 
Method Summary
 DivaMainImageDisplay getImageDisplay()
          Return the main image display widget
 ImageDisplayStatusPanel getImageDisplayStatusPanel()
          Return the status panel window
 ImagePanner getImagePanner()
          Return the pan window
 ImageZoom getImageZoom()
          Return the zoom window
protected  ImageColorbar makeColorbar()
          Make and return the colorbar window.
protected  DivaMainImageDisplay makeImageDisplay()
          Make and return the image display window
protected  void makeLayout(int size)
          This method is resposible for the window layout for this widget.
protected  ImagePanner makePanWindow(int size)
          Make and return the pan window.
protected  javax.swing.plaf.basic.BasicArrowButton makePanZoomToggleButton()
          Make and return a button for showing and hiding the pan/zoom panel
protected  ImageDisplayStatusPanel makeStatusPanel()
          Make and return the status panel
protected  ImageZoom makeZoomWindow(int size)
          Make and return the zoom window.
 void setImageBackground(java.awt.Color bg)
          Set the background color of the image display, pan and zoom windows.
 
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, getBorder, getBounds, getClientProperty, getComponentGraphics, 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, paint, paintBorder, paintChildren, paintComponent, 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, setPreferredSize, 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, 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

parent

protected java.awt.Component parent
The top level parent frame (or internal frame) used to close the window


imagePanner

protected ImagePanner imagePanner
Pan window


panZoomPanel

protected javax.swing.JPanel panZoomPanel
Panel containing the pan and zoom windows


imageZoom

protected ImageZoom imageZoom
Zoom window


imageDisplay

protected DivaMainImageDisplay imageDisplay
Main image display


colorbar

protected ImageColorbar colorbar
Color bar


imageDisplayStatusPanel

protected ImageDisplayStatusPanel imageDisplayStatusPanel
Panel displaying information about the current mouse position


filename

protected java.lang.String filename
Optional filename to load image from.


panZoomToggleButton

protected javax.swing.plaf.basic.BasicArrowButton panZoomToggleButton
Used to toggle the visibility of the pan/zoom windows

Constructor Detail

ImageDisplayControl

public ImageDisplayControl(java.awt.Component parent,
                           int size)
Construct an ImageDisplayControl widget.

Parameters:
parent - the top level parent frame (or internal frame) used to close the window
size - the size (width, height) to use for the pan and zoom windows.

ImageDisplayControl

public ImageDisplayControl(java.awt.Component parent)
Make an ImageDisplayControl widget with the default settings

Parameters:
parent - The top level parent frame (or internal frame) used to close the window

ImageDisplayControl

public ImageDisplayControl(java.awt.Component parent,
                           java.net.URL url)
Make an ImageDisplayControl widget with the default settings and display the contents of the image file pointed to by the URL.

Parameters:
parent - The top level parent frame (or internal frame) used to close the window
url - The URL for the image to load

ImageDisplayControl

public ImageDisplayControl(java.awt.Component parent,
                           java.lang.String filename)
Make an ImageDisplayControl widget with the default settings and display the contents of the image file.

Parameters:
parent - The top level parent frame (or internal frame) used to close the window
filename - The image file to load
Method Detail

makeImageDisplay

protected DivaMainImageDisplay makeImageDisplay()
Make and return the image display window


makePanWindow

protected ImagePanner makePanWindow(int size)
Make and return the pan window.

Parameters:
size - the size (width, height) to use for the pan window.

makeZoomWindow

protected ImageZoom makeZoomWindow(int size)
Make and return the zoom window.

Parameters:
size - the size (width, height) to use for the zoom window.

makePanZoomToggleButton

protected javax.swing.plaf.basic.BasicArrowButton makePanZoomToggleButton()
Make and return a button for showing and hiding the pan/zoom panel


makeColorbar

protected ImageColorbar makeColorbar()
Make and return the colorbar window.


makeStatusPanel

protected ImageDisplayStatusPanel makeStatusPanel()
Make and return the status panel


makeLayout

protected void makeLayout(int size)
This method is resposible for the window layout for this widget.

Parameters:
size - the initial size (width, height) to use for the pan and zoom windows.

getImageDisplay

public DivaMainImageDisplay getImageDisplay()
Return the main image display widget


getImagePanner

public ImagePanner getImagePanner()
Return the pan window


getImageZoom

public ImageZoom getImageZoom()
Return the zoom window


getImageDisplayStatusPanel

public ImageDisplayStatusPanel getImageDisplayStatusPanel()
Return the status panel window


setImageBackground

public void setImageBackground(java.awt.Color bg)
Set the background color of the image display, pan and zoom windows.