contrib.com.blogofbug.swing.components
Class ReflectedImageLabel

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 contrib.com.blogofbug.swing.components.ReflectedImageLabel
All Implemented Interfaces:
RichComponent, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.SwingConstants

public class ReflectedImageLabel
extends javax.swing.JLabel
implements RichComponent

A RichComponent which takes the supplied image, adds on 50% to the height of the image and draws a graduated alpha-blended reflection below the top aligned original image. The text (set by setRichText()) is drawn dynamically over the reflection, below the original image.

Author:
nigel
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JLabel
javax.swing.JLabel.AccessibleJLabel
 
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
 
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
ReflectedImageLabel(java.awt.Image image, int width, int height)
          Deprecated. This function will be removed, use setNeutralWidth() on JCarousel instead.
ReflectedImageLabel(java.awt.Image image, java.lang.String text)
          Creates a new instance of a reflected label using the supplied image and text
ReflectedImageLabel(java.awt.Image image, java.lang.String text, int width, int height)
          Deprecated. This function will be removed, use setNeutralWidth() on JCarousel instead.
ReflectedImageLabel(java.lang.String imageURL)
          See constructor for image label, this version of the constructor takes an image URL instead of the image object (the URL can be in string format).
ReflectedImageLabel(java.lang.String imageURL, int width, int height)
          Deprecated. This function will be removed, use setNeutralWidth() on JCarousel instead.
ReflectedImageLabel(java.lang.String imageURL, java.lang.String text, int width, int height)
          Deprecated. This function will be removed, use setNeutralWidth() on JCarousel instead.
 
Method Summary
 java.awt.Dimension getPreferredSize()
          Overrides the default getPreferedSize() which has been controlled by the created image and adds 50% onto the height to allow for the reflection.
 java.lang.String getRichText()
          See interface definition
 void paintComponent(java.awt.Graphics graphics)
          Paints the component
 void prePaintImage()
          See interface definition
 void setAlpha(float alphaLevel)
          Sets the transparency of the component
 void setImage(java.awt.Image image)
          Deprecated. Please use setRichImage() instead from the RichComponent interface
 void setLabel(java.lang.String text)
          Deprecated. Use setRichText() instead
 void setRichImage(java.io.File image)
          See interface definition
 void setRichImage(java.awt.Image image)
          See interface definition
 void setRichImage(java.net.URL image)
          Assigns an image to the component, the width and height taken from the supplied image
 void setRichText(java.lang.String text)
          See interface definition
protected  void setupImage(java.awt.Image image)
          Adds a reflection to the supplied image
 
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, 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
 

Constructor Detail

ReflectedImageLabel

public ReflectedImageLabel(java.awt.Image image,
                           int width,
                           int height)
Deprecated. This function will be removed, use setNeutralWidth() on JCarousel instead.

Creates a new instance from the supplied image object

Parameters:
image - The Image object
width - The prefered width of the image when rendered by a rich container
height - The prefered heightof the image when rendered by a rich container

ReflectedImageLabel

public ReflectedImageLabel(java.awt.Image image,
                           java.lang.String text,
                           int width,
                           int height)
Deprecated. This function will be removed, use setNeutralWidth() on JCarousel instead.

Creates a new instance of a reflected label for the supplied image, also setting the text to be associated with the image.

Parameters:
image - The image
text - The text label
width - The prefered width of the image when rendered by a rich container
height - The prefered height of the image when rendered by a rich container

ReflectedImageLabel

public ReflectedImageLabel(java.awt.Image image,
                           java.lang.String text)
Creates a new instance of a reflected label using the supplied image and text

Parameters:
image - The image to be used
text - The text to be displayed

ReflectedImageLabel

public ReflectedImageLabel(java.lang.String imageURL)
See constructor for image label, this version of the constructor takes an image URL instead of the image object (the URL can be in string format).

Parameters:
imageURL - A URL (in string form) of the image.

ReflectedImageLabel

public ReflectedImageLabel(java.lang.String imageURL,
                           int width,
                           int height)
Deprecated. This function will be removed, use setNeutralWidth() on JCarousel instead.

Creates a new instance, setting the width and the height that may be used by the RichContainer

Parameters:
imageURL - The URL of the image (String form)
width - The prefered width of the image when rendered by a rich container
height - The prefered height of the image when rendered by a rich container

ReflectedImageLabel

public ReflectedImageLabel(java.lang.String imageURL,
                           java.lang.String text,
                           int width,
                           int height)
Deprecated. This function will be removed, use setNeutralWidth() on JCarousel instead.

Creates a new instance, using the image specified in the URL string, the prefered dimensions and sets the Rich text as well

Parameters:
imageURL - The URL of the image in text form
text - The RichText to be displayed
width - The prefered width of the image when rendered by a rich container
height - The prefered height of the image when rendered by a rich container
Method Detail

setLabel

public void setLabel(java.lang.String text)
Deprecated. Use setRichText() instead

Depricated.

Parameters:
text - The rich text

setupImage

protected void setupImage(java.awt.Image image)
Adds a reflection to the supplied image

Parameters:
image - The image object to use to pre-render the reflection

setAlpha

public void setAlpha(float alphaLevel)
Sets the transparency of the component

Specified by:
setAlpha in interface RichComponent
Parameters:
alphaLevel - The alpha level of the object
See Also:
RichComponent

setImage

public void setImage(java.awt.Image image)
Deprecated. Please use setRichImage() instead from the RichComponent interface

Deprecated

Parameters:
image - An image object to use (reflection will be added)
See Also:
RichComponent

getPreferredSize

public java.awt.Dimension getPreferredSize()
Overrides the default getPreferedSize() which has been controlled by the created image and adds 50% onto the height to allow for the reflection.

Overrides:
getPreferredSize in class javax.swing.JComponent
Returns:
The prefered dimensions of the component

paintComponent

public void paintComponent(java.awt.Graphics graphics)
Paints the component

Overrides:
paintComponent in class javax.swing.JComponent
Parameters:
graphics - The graphics context

setRichImage

public void setRichImage(java.net.URL image)
Assigns an image to the component, the width and height taken from the supplied image

Specified by:
setRichImage in interface RichComponent
Parameters:
image - The URL of the image

setRichImage

public void setRichImage(java.io.File image)
See interface definition

Specified by:
setRichImage in interface RichComponent
Parameters:
image - See interface definition
See Also:
RichComponent

setRichImage

public void setRichImage(java.awt.Image image)
See interface definition

Specified by:
setRichImage in interface RichComponent
Parameters:
image - See interface definition
See Also:
RichComponent

prePaintImage

public void prePaintImage()
See interface definition

Specified by:
prePaintImage in interface RichComponent
See Also:
RichComponent

setRichText

public void setRichText(java.lang.String text)
See interface definition

Specified by:
setRichText in interface RichComponent
Parameters:
text - See interface definition
See Also:
RichComponent

getRichText

public java.lang.String getRichText()
See interface definition

Specified by:
getRichText in interface RichComponent
Returns:
See interface definition
See Also:
RichComponent