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.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, XAttributedComponent, XImageHolder
Direct Known Subclasses:
XHotspotImage

public class XImage
extends javax.swing.JComponent
implements XImageHolder, XAttributedComponent, java.awt.event.MouseListener, java.awt.event.MouseMotionListener

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.BaselineResizeBehavior, 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 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
           
protected  Painter painter
           
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.
 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
 boolean imageUpdate(java.awt.Image img, int infoflags, int x, int y, int width, int height)
          Update the image as it is loaded.
 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 setArc(int arcSize)
          Sets the arc value, the number of pixels by which the corners are radiused
 int 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.
 void setPainter(Painter xp)
          Set the background painter object
 
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

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

arc

protected int arc

shadowSize

protected int shadowSize

distance

protected int distance

painter

protected Painter painter

firstMouseEvent

protected java.awt.event.MouseEvent firstMouseEvent

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

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

setAttribute

public int 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
Returns:
0 for success, non zero for failure or to require some further action

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