com.alee.extended.image
Class WebImage

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by com.alee.extended.image.WebImage
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.swing.SwingConstants

public class WebImage
extends javax.swing.JComponent
implements javax.swing.SwingConstants

This component allows you to display images in many different ways. This component uses less resources than a label and has a few optimization.

Author:
Mikle Garin
See Also:
Serialized Form

Nested Class Summary
 
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
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
WebImage()
          Constructs an empty image component.
WebImage(java.awt.image.BufferedImage image)
          Constructs component with a specified image.
WebImage(java.lang.Class nearClass, java.lang.String src)
          Constructs component with an image loaded from package near specified class.
WebImage(javax.swing.Icon icon)
          Constructs component with an image retrieved from the specified icon.
WebImage(java.awt.Image image)
          Constructs component with a specified image.
WebImage(javax.swing.ImageIcon icon)
          Constructs component with an image retrieved from the specified image icon.
WebImage(java.lang.String src)
          Constructs component with an image loaded from the specified path.
WebImage(java.net.URL url)
          Constructs component with an image loaded from the specified url.
 
Method Summary
protected  void calculateDisabledImage()
          Updates cached disabled image.
protected  int getCenterX(java.awt.Insets insets)
          Returns image component center X coordinate.
protected  int getCenterY(java.awt.Insets insets)
          Returns image component center Y coordinate.
protected  java.awt.image.BufferedImage getCurrentImage()
          Returns currently displayed image.
 DisplayType getDisplayType()
          Returns image display type.
 int getHorizontalAlignment()
          Returns image horizontal alignment.
 java.awt.image.BufferedImage getImage()
          Returns current image.
 int getImageHeight()
          Returns image height or -1 if image was not set.
 int getImageWidth()
          Returns image width or -1 if image was not set.
 java.awt.Insets getMargin()
          Returns image margin.
 java.awt.Dimension getPreferredSize()
          Returns preferred size of image component.
protected  java.awt.image.BufferedImage getPreviewImage(java.awt.Insets insets)
          Returns preview image for specified insets.
protected  java.awt.Dimension getRequiredSize()
          Returns component size required to fully show the image.
 float getTransparency()
          Returns image transparency.
 int getVerticalAlignment()
          Returns image vertical alignment.
protected  void paintComponent(java.awt.Graphics g)
          Paints image component.
 WebImage setDisplayType(DisplayType displayType)
          Changes image display type.
 WebImage setHorizontalAlignment(int horizontalAlignment)
          Changes image horizontal alignment to the specified one.
 WebImage setIcon(javax.swing.Icon icon)
          Changes image to new one taken from specified icon.
 WebImage setIcon(javax.swing.ImageIcon icon)
          Changes image to new one taken from specified image icon.
 WebImage setImage(java.awt.image.BufferedImage image)
          Changes image to the specified one.
 WebImage setImage(java.awt.Image image)
          Changes image to the specified one.
 WebImage setMargin(java.awt.Insets margin)
          Changes image margin.
 WebImage setMargin(int spacing)
          Changes image margin.
 WebImage setMargin(int top, int left, int bottom, int right)
          Changes image margin.
 WebImage setTransparency(float transparency)
          Changes image transparency.
 WebImage setVerticalAlignment(int verticalAlignment)
          Changes image vertical alignment to the specified one.
protected  void updateBorder()
          Updates image component border.
protected  void updateView()
          Updates image component view.
 
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, 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, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

WebImage

public WebImage()
Constructs an empty image component.


WebImage

public WebImage(java.lang.String src)
Constructs component with an image loaded from the specified path.

Parameters:
src - path to image

WebImage

public WebImage(java.lang.Class nearClass,
                java.lang.String src)
Constructs component with an image loaded from package near specified class.

Parameters:
nearClass - class near which image is located
src - image file location

WebImage

public WebImage(java.net.URL url)
Constructs component with an image loaded from the specified url.

Parameters:
url - image url

WebImage

public WebImage(javax.swing.Icon icon)
Constructs component with an image retrieved from the specified icon.

Parameters:
icon - icon to process

WebImage

public WebImage(javax.swing.ImageIcon icon)
Constructs component with an image retrieved from the specified image icon.

Parameters:
icon - image icon to process

WebImage

public WebImage(java.awt.Image image)
Constructs component with a specified image.

Parameters:
image - image

WebImage

public WebImage(java.awt.image.BufferedImage image)
Constructs component with a specified image.

Parameters:
image - image
Method Detail

calculateDisabledImage

protected void calculateDisabledImage()
Updates cached disabled image.


getImageWidth

public int getImageWidth()
Returns image width or -1 if image was not set.

Returns:
image width or -1 if image was not set

getImageHeight

public int getImageHeight()
Returns image height or -1 if image was not set.

Returns:
image height or -1 if image was not set

getImage

public java.awt.image.BufferedImage getImage()
Returns current image.

Returns:
image

setIcon

public WebImage setIcon(javax.swing.Icon icon)
Changes image to new one taken from specified icon.

Parameters:
icon - icon to process
Returns:
this image component

setIcon

public WebImage setIcon(javax.swing.ImageIcon icon)
Changes image to new one taken from specified image icon.

Parameters:
icon - image icon to process
Returns:
this image component

setImage

public WebImage setImage(java.awt.Image image)
Changes image to the specified one.

Parameters:
image - new image
Returns:
this image component

setImage

public WebImage setImage(java.awt.image.BufferedImage image)
Changes image to the specified one.

Parameters:
image - new image
Returns:
this image component

getDisplayType

public DisplayType getDisplayType()
Returns image display type.

Returns:
image display type

setDisplayType

public WebImage setDisplayType(DisplayType displayType)
Changes image display type.

Parameters:
displayType - new image display type
Returns:
this image component

getHorizontalAlignment

public int getHorizontalAlignment()
Returns image horizontal alignment.

Returns:
image horizontal alignment

setHorizontalAlignment

public WebImage setHorizontalAlignment(int horizontalAlignment)
Changes image horizontal alignment to the specified one.

Parameters:
horizontalAlignment - new image horizontal alignment
Returns:
this image component

getVerticalAlignment

public int getVerticalAlignment()
Returns image vertical alignment.

Returns:
image vertical alignment

setVerticalAlignment

public WebImage setVerticalAlignment(int verticalAlignment)
Changes image vertical alignment to the specified one.

Parameters:
verticalAlignment - new image vertical alignment
Returns:
this image component

getTransparency

public float getTransparency()
Returns image transparency.

Returns:
image transparency

setTransparency

public WebImage setTransparency(float transparency)
Changes image transparency.

Parameters:
transparency - new image transparency
Returns:
this image component

updateView

protected void updateView()
Updates image component view.


getMargin

public java.awt.Insets getMargin()
Returns image margin.

Returns:
image margin

setMargin

public WebImage setMargin(java.awt.Insets margin)
Changes image margin.

Parameters:
margin - new image margin
Returns:
this image component

setMargin

public WebImage setMargin(int top,
                          int left,
                          int bottom,
                          int right)
Changes image margin.

Parameters:
top - top margin
left - left margin
bottom - bottom margin
right - right margin
Returns:
this image component

setMargin

public WebImage setMargin(int spacing)
Changes image margin.

Parameters:
spacing - side spacing
Returns:
this image component

updateBorder

protected void updateBorder()
Updates image component border.


paintComponent

protected void paintComponent(java.awt.Graphics g)
Paints image component.

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

getCenterX

protected int getCenterX(java.awt.Insets insets)
Returns image component center X coordinate.

Parameters:
insets - image component insets
Returns:
image component center X coordinate

getCenterY

protected int getCenterY(java.awt.Insets insets)
Returns image component center Y coordinate.

Parameters:
insets - image component insets
Returns:
image component center Y coordinate

getPreviewImage

protected java.awt.image.BufferedImage getPreviewImage(java.awt.Insets insets)
Returns preview image for specified insets.

Parameters:
insets - image component insets
Returns:
preview image

getCurrentImage

protected java.awt.image.BufferedImage getCurrentImage()
Returns currently displayed image.

Returns:
currently displayed image

getPreferredSize

public java.awt.Dimension getPreferredSize()
Returns preferred size of image component.

Overrides:
getPreferredSize in class javax.swing.JComponent
Returns:
preferred size of image component

getRequiredSize

protected java.awt.Dimension getRequiredSize()
Returns component size required to fully show the image.

Returns:
component size required to fully show the image