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
Nested ClassesModifier and TypeClassDescriptionstatic enumThe type of overlay that should be shownNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested 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
focusPointFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionOverlayedPictureController(ScalablePicture scalablePicture) Constructs the overlay that can show an info panel -
Method Summary
Modifier and TypeMethodDescriptionvoidaddStatusListener(ScalablePictureListener listener) method to register the listening object of the status eventsvoidThis function cycles to the next info display.method that returns a handle to the scalable picture that this component is displayingvoidOverriding the paint to add the drawing of the info panelvoidscalableStatusChange(ScalablePicture.ScalablePictureStatus pictureStatusCode, String pictureStatusMessage) method that gets invoked from the ScalablePicture object to notify of status changes.voidsetPicture(PictureInfo pictureInfo) Brings up the indicated picture on the display.voidsourceLoadProgressNotification(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, zoomToFitMethods 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, updateUIMethods 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, validateTreeMethods 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:
paintComponentin 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:
scalableStatusChangein 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:
sourceLoadProgressNotificationin 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
-