gov.nasa.worldwind.examples.util
Class ImageViewer
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
gov.nasa.worldwind.examples.util.ImageViewer
- All Implemented Interfaces:
- ImageObserver, MenuContainer, Serializable
public class ImageViewer
- extends JComponent
Component that displays an image.
- See Also:
- Serialized Form
Methods inherited from class javax.swing.JComponent |
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, 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, updateUI |
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 |
SCALE_BEST_FIT
public static final String SCALE_BEST_FIT
- See Also:
- Constant Field Values
SCALE_FIXED
public static final String SCALE_FIXED
- See Also:
- Constant Field Values
SCALE_SHRINK_ONLY
public static final String SCALE_SHRINK_ONLY
- See Also:
- Constant Field Values
ImageViewer
public ImageViewer()
clampOffset
protected void clampOffset()
- Make sure the image does not leave the component edges, except when it is smaller.
computeBestFitScale
protected float computeBestFitScale()
- Compute a scaling factor so that the image fits inside the component.
- Returns:
- the appropriate scaling factor.
computeCenteringOffset
protected Point computeCenteringOffset(float scale)
- Compute offset so as to center the image inside the component.
- Parameters:
scale
- the current draw scale.
- Returns:
- the appropriate offset
Point
.
getFadeTimeMillisec
public int getFadeTimeMillisec()
getImage
public BufferedImage getImage()
getImageURL
public URL getImageURL()
getOffset
public Point getOffset()
getScale
public float getScale()
getScaleMode
public String getScaleMode()
getZoomMultiplier
public float getZoomMultiplier()
isEnableMousePanAndZoom
public boolean isEnableMousePanAndZoom()
isFading
public boolean isFading()
paintComponent
public void paintComponent(Graphics g)
- Overrides:
paintComponent
in class JComponent
paintImage
protected void paintImage(Graphics2D g2)
resetPanAndZoom
public void resetPanAndZoom()
setEnableMousePanAndZoom
public void setEnableMousePanAndZoom(boolean state)
setFadeTimeMillisec
public void setFadeTimeMillisec(int millisec)
setImage
public void setImage(BufferedImage image)
setImageURL
public boolean setImageURL(URL imageURL)
setOffset
public void setOffset(Point offset)
setScale
public void setScale(float scale)
setScaleMode
public void setScaleMode(String scaleMode)
setZoomMultiplier
public void setZoomMultiplier(float multiplier)
updateCursor
protected void updateCursor()
- Change the cursor to 'move' when the image is larger then the component.
updateOffsetForZoom
protected void updateOffsetForZoom(Point mousePoint,
float oldScale,
float newScale)
- Adjust the current offset after a scale change so that the part of the image under the mouse doesn't move.
Note that the computeBestFit() scale combined with the computeCenteringOffset() results in the image
center not moving. Here we determine the mouse point relative position from the image center, scale it
and translate the current offset by the difference.
- Parameters:
mousePoint
- the mouse point relative to the component.oldScale
- the scaling factor before the zoom.newScale
- the scaling factor after the zoom.