java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
org.jpo.gui.swing.PictureController
org.jpo.gui.OverlayedPictureController
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,ScalablePictureListener
public class OverlayedPictureController
extends PictureController
implements ScalablePictureListener
Overrides the Picture Controller with functionality to overlay the picture
with information
The showInfo
flag controls whether information about the picture is
overlayed on the image.
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
The type of overlay that should be shownNested 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 org.jpo.gui.swing.PictureController
focusPoint
Fields inherited from class javax.swing.JComponent
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
accessibleContext, 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
ConstructorDescriptionOverlayedPictureController
(ScalablePicture scalablePicture) Constructs the overlay that can show an info panel -
Method Summary
Modifier and TypeMethodDescriptionvoid
addStatusListener
(ScalablePictureListener listener) method to register the listening object of the status eventsvoid
This function cycles to the next info display.method that returns a handle to the scalable picture that this component is displayingvoid
Overriding the paint to add the drawing of the info panelvoid
scalableStatusChange
(ScalablePicture.ScalablePictureStatus pictureStatusCode, String pictureStatusMessage) method that gets invoked from the ScalablePicture object to notify of status changes.void
setPicture
(PictureInfo pictureInfo) Brings up the indicated picture on the display.void
sourceLoadProgressNotification
(SourcePicture.SourcePictureStatus statusCode, int percentage) pass messages about progress onto the PictureViewer for updating of the progress barMethods inherited from class org.jpo.gui.swing.PictureController
centerImage, handleZoomRequest, isCenterWhenScaled, resetPicture, scrollDown, scrollLeft, scrollRight, scrollUp, setCenterLocation, setCenterWhenScaled, zoomFull, zoomIn, zoomOut, zoomToFit
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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, getAccessibleContext, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Constructor Details
-
OverlayedPictureController
Constructs the overlay that can show an info panel- Parameters:
scalablePicture
- a reference to the picture
-
-
Method Details
-
cycleInfoDisplay
public void cycleInfoDisplay()This function cycles to the next info display. The first is DISPLAY_NONE, DISPLAY_PHOTOGRAPHIC and DISPLAY_APPLICATION -
setPicture
Brings up the indicated picture on the display.- Parameters:
pictureInfo
- The pictureInfo to display
-
paintComponent
Overriding the paint to add the drawing of the info panel- Overrides:
paintComponent
in classPictureController
- Parameters:
g
- Graphics
-
scalableStatusChange
public void scalableStatusChange(ScalablePicture.ScalablePictureStatus pictureStatusCode, String pictureStatusMessage) method that gets invoked from the ScalablePicture object to notify of status changes. The ScalablePicture goes through several statuses: UNINITIALISED, GARBAGE_COLLECTION, LOADING, SCALING, READY, ERROR.Each status is passed to the listener upon receipt.
When the ScalablePicture signals that it is READY the legend of the picture is sent to the listener. The method
PictureController.centerImage()
is called and a repaint is requested.- Specified by:
scalableStatusChange
in interfaceScalablePictureListener
- Parameters:
pictureStatusCode
- New Status CodepictureStatusMessage
- New Status Message
-
sourceLoadProgressNotification
public void sourceLoadProgressNotification(SourcePicture.SourcePictureStatus statusCode, int percentage) pass messages about progress onto the PictureViewer for updating of the progress bar- Specified by:
sourceLoadProgressNotification
in interfaceScalablePictureListener
- Parameters:
statusCode
- status codepercentage
- percentage
-
addStatusListener
method to register the listening object of the status events- Parameters:
listener
- Listener
-
getScalablePicture
method that returns a handle to the scalable picture that this component is displaying- Returns:
- the scaled image
-