com.openpcl.viewer.uicomponents
Class PosPutImageOnScreen

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JLabel
                  extended by com.openpcl.viewer.uicomponents.PosPutImageOnScreen
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, SwingConstants

public class PosPutImageOnScreen
extends JLabel

The standard way to put the BufferedImage on the screen is

Author:
howard. 9/29/06
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JLabel
JLabel.AccessibleJLabel
 
Nested 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.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  BufferedImage mBufferedImageToDrawOn
           
protected static Color mClientTooltipBackground
           
protected  int mImageHeight
           
protected  ImageIcon mImageIcon
           
protected  int mImageWidth
           
protected  BufferedImage mMissingBufferedImage
           
protected static Font mMissingImageFont
           
protected static String mMissingImageString
           
protected  PosView mPosView
           
protected  boolean mShouldShowUpdatingImageVisualCue
           
protected static int mUpdatingImageBorderSpacing
           
protected static Font mUpdatingImageFont
           
protected static int mUpdatingImageOffset
           
protected static String mUpdatingImageString
           
protected  int mUpdatingImageTextAscentHeight
           
protected  int mUpdatingImageTextTotalHeight
           
protected  int mUpdatingImageTextWidth
           
protected  Point mViewPositionPoint
           
 
Fields inherited from class javax.swing.JLabel
labelFor
 
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 javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
PosPutImageOnScreen(PosView pPosView)
          Constructor.
 
Method Summary
 void finishedUpdatingImage()
           
 void freeUpMemory()
          When the user is done with this rendering session, then free up memory
 void paintComponent(Graphics g)
           
 void showBufferedImage(BufferedImage pBufferedImageToDrawOn)
          Call this method and pass in the changed BufferedImage to show on the screen.
 void showUpdatingImageVisualCue()
           
 
Methods inherited from class javax.swing.JLabel
checkHorizontalKey, checkVerticalKey, getAccessibleContext, getDisabledIcon, getDisplayedMnemonic, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getLabelFor, getText, getUI, getUIClassID, getVerticalAlignment, getVerticalTextPosition, imageUpdate, paramString, setDisabledIcon, setDisplayedMnemonic, setDisplayedMnemonic, setDisplayedMnemonicIndex, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabelFor, setText, setUI, setVerticalAlignment, setVerticalTextPosition, 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, 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, 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

mPosView

protected PosView mPosView

mBufferedImageToDrawOn

protected BufferedImage mBufferedImageToDrawOn

mMissingBufferedImage

protected BufferedImage mMissingBufferedImage

mImageIcon

protected ImageIcon mImageIcon

mImageWidth

protected int mImageWidth

mImageHeight

protected int mImageHeight

mShouldShowUpdatingImageVisualCue

protected boolean mShouldShowUpdatingImageVisualCue

mMissingImageFont

protected static Font mMissingImageFont

mMissingImageString

protected static String mMissingImageString

mClientTooltipBackground

protected static Color mClientTooltipBackground

mUpdatingImageFont

protected static Font mUpdatingImageFont

mUpdatingImageString

protected static String mUpdatingImageString

mUpdatingImageOffset

protected static int mUpdatingImageOffset

mUpdatingImageBorderSpacing

protected static int mUpdatingImageBorderSpacing

mUpdatingImageTextWidth

protected int mUpdatingImageTextWidth

mUpdatingImageTextAscentHeight

protected int mUpdatingImageTextAscentHeight

mUpdatingImageTextTotalHeight

protected int mUpdatingImageTextTotalHeight

mViewPositionPoint

protected Point mViewPositionPoint
Constructor Detail

PosPutImageOnScreen

public PosPutImageOnScreen(PosView pPosView)
Constructor. No passed in parameters. Creates a new ImageIcon object and sets it as the JLabels' icon

Method Detail

paintComponent

public void paintComponent(Graphics g)
Overrides:
paintComponent in class JComponent

showBufferedImage

public void showBufferedImage(BufferedImage pBufferedImageToDrawOn)
Call this method and pass in the changed BufferedImage to show on the screen. Here the passed in BufferedImage is set as the JLabel's icon, which forces a screen update. Note that a new BufferedImage is not created for each page node clicked in the tree or zoom change, because the some one original BufferedImage is reused over and over and over again by blanking it out by drawing a white rectangle on the whole image, then re-parsing the PCL stream from the beginning and rendering/drawing the PCL of the tree node page just clicked on, or if the same PCL page as before, but changing the zoom in any way, then re-rending the same PCL but doing the scaling and positioning to make everything bigger or smaller and drawn at the adjusted (x,y) and (width, height) for that zoom factor. This way, no more memory is being grabbed to draw the next PCL page or zoom change. Howard 10/11/06

Parameters:
pBufferedImageToDrawOn -

showUpdatingImageVisualCue

public void showUpdatingImageVisualCue()

finishedUpdatingImage

public void finishedUpdatingImage()

freeUpMemory

public void freeUpMemory()
When the user is done with this rendering session, then free up memory



OpenPCL http://www.openpcl.com