org.formaria.swing
Class Image

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by org.formaria.swing.Image
All Implemented Interfaces:
java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, ImageHolder
Direct Known Subclasses:
EasterEgg, HotspotImage, ReflectedImage

public class Image
extends javax.swing.JComponent
implements ImageHolder, java.awt.event.MouseListener, java.awt.event.MouseMotionListener

Draws an image

Copyright (c) Formaria Ltd., 2008

License: see license.txt $Revision: 2.18 $

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
protected  int arc
           
static int AUTO_SIZE
           
protected  boolean centerImage
           
protected  Project currentProject
          The current project
protected  java.awt.Image disabledImage
           
protected  int distance
           
protected  boolean dragEnabled
           
protected  boolean drawBorder
           
protected  boolean drawShadow
           
protected  boolean fillBorder
           
protected  java.awt.event.MouseEvent firstMouseEvent
           
protected  java.awt.Image image
           
protected  java.lang.String imageName
           
static int NO_SCALE
           
protected  int pad
           
protected  Painter painter
           
static int PRESERVE_ASPECT
           
protected  java.awt.image.BufferedImage shadow
           
protected  int shadowSize
           
static int STRETCH
           
protected  int stretchMode
           
static int TILE
           
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Image()
          Constructs a blank image control.
 
Method Summary
 void addNotify()
          Requests a repaint of the control once it has been created
 void drawImage(java.awt.Graphics2D g2d, java.awt.Image image, int x, int y, int w, int h, java.awt.image.ImageObserver obs)
          Draw the image according to the stretch mode
 boolean getAntiAlias()
          Gets the antialias property of the text.
 int getArc()
          Gets the arc value, the number of pixels by which the corners are radiused
 boolean getDrawBorder()
          Gets the border flag value.
 boolean getDrawShadow()
          Gets the shadow flag value.
 boolean getFillBorder()
          Gets the fill border flag value.
 java.lang.String getImageName()
          Gets the name of the image being displayed.
 boolean getOpaque()
          Gets the opaque flag value.
 int getPadding()
          Get the image padding
 Painter getPainter()
          Get the background painter object
 java.awt.Dimension getPreferredSize()
          Get the preferred size of this image
 int getShadowSize()
          Get the size of the shadow
 int getStretchMode()
          Get the stretch mode for this image
 boolean imageUpdate(java.awt.Image img, int infoflags, int x, int y, int width, int height)
          Update the image as it is loaded.
 boolean isCenterImage()
          Is the image cetered?
 void mouseClicked(java.awt.event.MouseEvent e)
          Invoked when the mouse button has been clicked (pressed and released) on a component.
 void mouseDragged(java.awt.event.MouseEvent e)
           
 void mouseEntered(java.awt.event.MouseEvent e)
          Invoked when the mouse enters a component.
 void mouseExited(java.awt.event.MouseEvent e)
          Invoked when the mouse exits a component.
 void mouseMoved(java.awt.event.MouseEvent e)
          Invoked when the mouse cursor has been moved onto a component but no buttons have been pushed.
 void mousePressed(java.awt.event.MouseEvent e)
           
 void mouseReleased(java.awt.event.MouseEvent e)
           
 void paintComponent(java.awt.Graphics g)
          Renders the component
 void setAntiAlias(boolean b)
          Sets the antialias property of the text.
 void setArc(int arcSize)
          Sets the arc value, the number of pixels by which the corners are radiused
 void setCenterImage(boolean state)
          Set the image centering options
 void setDragEnabled(boolean state)
          Set the drag enabled state
 void setDragInfo(java.lang.Object info)
          Set the drag information
 void setDrawBorder(boolean state)
          Sets the border flag value.
 void setDrawShadow(boolean value)
          Set the shadow drawing mode
 void setFillBorder(boolean value)
          set the border filling mode
 void setImage(java.awt.Image img)
          Sets the image to display.
 void setImageName(java.lang.String name)
          Sets the name of the image being displayed.
 void setPadding(int p)
          Set the image padding
 void setPainter(Painter xp)
          Set the background painter object
 void setStretchMode(int mode)
          Set the stretch mode for this image.
 void setToolTip(java.lang.String tip)
          Set the tooltip text
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, 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, 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

STRETCH

public static final int STRETCH
See Also:
Constant Field Values

PRESERVE_ASPECT

public static final int PRESERVE_ASPECT
See Also:
Constant Field Values

NO_SCALE

public static final int NO_SCALE
See Also:
Constant Field Values

TILE

public static final int TILE
See Also:
Constant Field Values

AUTO_SIZE

public static final int AUTO_SIZE
See Also:
Constant Field Values

image

protected java.awt.Image image

disabledImage

protected java.awt.Image disabledImage

imageName

protected java.lang.String imageName

shadow

protected java.awt.image.BufferedImage shadow

drawBorder

protected boolean drawBorder

drawShadow

protected boolean drawShadow

fillBorder

protected boolean fillBorder

dragEnabled

protected boolean dragEnabled

centerImage

protected boolean centerImage

arc

protected int arc

pad

protected int pad

shadowSize

protected int shadowSize

distance

protected int distance

stretchMode

protected int stretchMode

painter

protected Painter painter

firstMouseEvent

protected java.awt.event.MouseEvent firstMouseEvent

currentProject

protected Project currentProject
The current project

Constructor Detail

Image

public Image()
Constructs a blank image control.

Method Detail

addNotify

public void addNotify()
Requests a repaint of the control once it has been created

Overrides:
addNotify in class javax.swing.JComponent

getShadowSize

public int getShadowSize()
Get the size of the shadow

Returns:
the shadow size

setImage

public void setImage(java.awt.Image img)
Sets the image to display.

Specified by:
setImage in interface ImageHolder
Parameters:
img - the image

getImageName

public java.lang.String getImageName()
Gets the name of the image being displayed.

Specified by:
getImageName in interface ImageHolder
Returns:
the image name

setImageName

public void setImageName(java.lang.String name)
Sets the name of the image being displayed.

Specified by:
setImageName in interface ImageHolder
Parameters:
name - the image name

getDrawShadow

public boolean getDrawShadow()
Gets the shadow flag value.

Returns:
true if he shadow is drawn

getFillBorder

public boolean getFillBorder()
Gets the fill border flag value.

Returns:
true if the area within the border is filled

getArc

public int getArc()
Gets the arc value, the number of pixels by which the corners are radiused

Returns:
the arc size in pixels

setArc

public void setArc(int arcSize)
Sets the arc value, the number of pixels by which the corners are radiused

Parameters:
value - the arc size in pixels

getOpaque

public boolean getOpaque()
Gets the opaque flag value.

Returns:
true if the background is opaque

getDrawBorder

public boolean getDrawBorder()
Gets the border flag value.

Returns:
true if he border is drawn

setDrawBorder

public void setDrawBorder(boolean state)
Sets the border flag value.

Parameters:
state - true if he border is drawn

setPadding

public void setPadding(int p)
Set the image padding

Parameters:
p - int specifying the padding amount

getPadding

public int getPadding()
Get the image padding

Returns:
int specifying the padding amount

getPreferredSize

public java.awt.Dimension getPreferredSize()
Get the preferred size of this image

Overrides:
getPreferredSize in class javax.swing.JComponent
Returns:
the preferred size

paintComponent

public void paintComponent(java.awt.Graphics g)
Renders the component

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

drawImage

public void drawImage(java.awt.Graphics2D g2d,
                      java.awt.Image image,
                      int x,
                      int y,
                      int w,
                      int h,
                      java.awt.image.ImageObserver obs)
Draw the image according to the stretch mode

Parameters:
g2d -
image -
x -
y -
w -
h -
obs -

imageUpdate

public boolean imageUpdate(java.awt.Image img,
                           int infoflags,
                           int x,
                           int y,
                           int width,
                           int height)
Update the image as it is loaded.

Specified by:
imageUpdate in interface java.awt.image.ImageObserver
Overrides:
imageUpdate in class java.awt.Component
Parameters:
img - the image
infoflags - the flags
x - the x/left coordinate
y - the y/top coordinate
width - the image width
height - the height
Returns:
super.imageUpdate(...)

setPainter

public void setPainter(Painter xp)
Set the background painter object

Parameters:
xp - the painter object

getPainter

public Painter getPainter()
Get the background painter object

Returns:
the painter object

setDragInfo

public void setDragInfo(java.lang.Object info)
Set the drag information


setDragEnabled

public void setDragEnabled(boolean state)
Set the drag enabled state

Parameters:
state - true to enable drag operations

setDrawShadow

public void setDrawShadow(boolean value)
Set the shadow drawing mode

Parameters:
value -

setFillBorder

public void setFillBorder(boolean value)
set the border filling mode

Parameters:
value -

setToolTip

public void setToolTip(java.lang.String tip)
Set the tooltip text

Parameters:
tip - the new text

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
Invoked when the mouse cursor has been moved onto a component but no buttons have been pushed.

Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Invoked when the mouse enters a component.

Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Invoked when the mouse exits a component.

Specified by:
mouseExited in interface java.awt.event.MouseListener

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Invoked when the mouse button has been clicked (pressed and released) on a component.

Specified by:
mouseClicked in interface java.awt.event.MouseListener

getStretchMode

public int getStretchMode()
Get the stretch mode for this image

Returns:
Since:
3.2

setStretchMode

public void setStretchMode(int mode)
Set the stretch mode for this image. The mode can be

Parameters:
mode - the new stretch mode
Since:
3.2

isCenterImage

public boolean isCenterImage()
Is the image cetered?

Returns:
true if the image is centered when the aspect is preserved or when the original size is smaller than the available space

setCenterImage

public void setCenterImage(boolean state)
Set the image centering options

Parameters:
state -

setAntiAlias

public void setAntiAlias(boolean b)
Sets the antialias property of the text.

Parameters:
b - true if text is antialiased

getAntiAlias

public boolean getAntiAlias()
Gets the antialias property of the text.

Returns:
true if text is antialiased