net.xoetrope.swing
Class XImage

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by net.xoetrope.swing.XImage
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, XAttributedComponent, XImageHolder
Direct Known Subclasses:
XHotspotImage

public class XImage
extends javax.swing.JComponent
implements XImageHolder, XAttributedComponent

Draws an image

Copyright (c) Xoetrope Ltd., 1998-2003

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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  int arc
           
protected  XProject currentProject
          The current project
protected  java.awt.Image disabledImage
           
protected  int distance
           
protected  boolean drawBorder
           
protected  boolean drawShadow
           
protected  boolean fillBorder
           
protected  java.awt.Image image
           
protected  java.lang.String imageName
           
protected  java.awt.image.BufferedImage shadow
           
protected  int shadowSize
           
 
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
XImage()
          Constructs a blank image control.
 
Method Summary
 void addNotify()
          Requests a repaint of the control once it has been created
 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.
 java.awt.Dimension getPreferredSize()
          Get the preferred size of this image
 int getShadowSize()
          Get the size of the shadow
 boolean imageUpdate(java.awt.Image img, int infoflags, int x, int y, int width, int height)
          Update the image as it is loaded.
 void paintComponent(java.awt.Graphics g)
          Renders the component
 void setArc(int arcSize)
          Sets the arc value, the number of pixels by which the corners are radiused
 void setAttribute(java.lang.String attribName, java.lang.Object attribValue)
          Set one or more attributes of the component.
 void setDrawBorder(boolean state)
          Sets the border flag value.
 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.
 
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, 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, 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

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

arc

protected int arc

shadowSize

protected int shadowSize

distance

protected int distance

currentProject

protected XProject currentProject
The current project

Constructor Detail

XImage

public XImage()
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 XImageHolder
Parameters:
img - the image

getImageName

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

Returns:
the image name

setImageName

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

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

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

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(...)

setAttribute

public void setAttribute(java.lang.String attribName,
                         java.lang.Object attribValue)
Set one or more attributes of the component.
  1. content, value=the image file name
  2. imagename, value=the image file name
  3. tooltip, value=the tooltip text
  4. opaque, value=true for an opaque image (fills the entire client area)
  5. border, value=true to draw a border around the image
  6. arc, value=the rounding arc for the border if any

Specified by:
setAttribute in interface XAttributedComponent
Parameters:
attribName - the attribute name
attribValue - the attribute value