com.miginfocom.ashape
Class AShapeComponent

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by com.miginfocom.ashape.AShapeComponent
All Implemented Interfaces:
InteractionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener

public class AShapeComponent
extends javax.swing.JComponent
implements InteractionListener

A JComponent that can contain and paint an AShape. It will let the Interactors of the AShape process the InputEvents before they are processed by this component.
It also handles InteractionListeners to listen for interaction events in the wrapped AShape.

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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
AShapeComponent()
          Empty constructor.
 
Method Summary
 void addInteractionListener(InteractionListener l)
           
 void addInteractionListener(InteractionListener l, boolean asWeakRef)
           
 java.awt.Dimension getPreferredSize()
           
 javax.swing.JComponent getRelativeToComponent()
          Returns the component that the AShape should be relative to.
 AShape getShape()
          Returns the currently wrapped shape.
 void interactionOccured(InteractionEvent e)
          Called when an interaction has occurred-
 boolean isIgnoreInteractionEvents()
          Transfer to ListenerSet.isIgnoreEvents()
protected  void paintComponent(java.awt.Graphics g)
           
protected  void processEvent(java.awt.AWTEvent e)
          Overridden to let all activity views have fist chance to interact with the events and if they are consumed disregard them for further processing.
 void removeInteractionListener(InteractionListener l)
           
 boolean setIgnoreInteractionEvents(boolean b)
          Transfer to ListenerSet.setIgnoreEvents(boolean)
 void setPreferredSize(java.awt.Dimension preferredSize)
           
 void setRelativeToComponent(javax.swing.JComponent component)
          The difference in screen pixels between component and this compoennt's upper left corner will be added to the bounds when setting the interaction bounds in any MouseKeyInteractor.
 void setShape(RootAShape shape, boolean installDefaultInteractors)
          Sets the AShape to wrap.
 
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, 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, 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

AShapeComponent

public AShapeComponent()
Empty constructor.

Method Detail

paintComponent

protected void paintComponent(java.awt.Graphics g)
Overrides:
paintComponent in class javax.swing.JComponent

getPreferredSize

public java.awt.Dimension getPreferredSize()
Overrides:
getPreferredSize in class javax.swing.JComponent

setPreferredSize

public void setPreferredSize(java.awt.Dimension preferredSize)
Overrides:
setPreferredSize in class javax.swing.JComponent

getShape

public AShape getShape()
Returns the currently wrapped shape.

Returns:
The currently wrapped shape. May be null.

setShape

public void setShape(RootAShape shape,
                     boolean installDefaultInteractors)
Sets the AShape to wrap. This components bounds will be used as the reference bounds for this shape.

Parameters:
shape - The shape to wrap.
installDefaultInteractors - If true a DefaultInteractionBroker and a MouseKeyInteractor will be installed on the shape to enable mouse and key interactions with it.

setRelativeToComponent

public void setRelativeToComponent(javax.swing.JComponent component)
The difference in screen pixels between component and this compoennt's upper left corner will be added to the bounds when setting the interaction bounds in any MouseKeyInteractor. For instance if this component is to be used as a renderer component in a JTree or JTable that compoennt should be set here.

Parameters:
component - The parent component to correct bounds relative to. null means no correction.
See Also:
MouseKeyInteractor.setHitAreas(java.util.ArrayList, com.miginfocom.util.ListenerSet)

getRelativeToComponent

public javax.swing.JComponent getRelativeToComponent()
Returns the component that the AShape should be relative to.

Returns:
The component that the AShape should be relative to.
See Also:
setRelativeToComponent(javax.swing.JComponent)

processEvent

protected void processEvent(java.awt.AWTEvent e)
Overridden to let all activity views have fist chance to interact with the events and if they are consumed disregard them for further processing.

Overrides:
processEvent in class java.awt.Container
Parameters:
e - The event.

interactionOccured

public void interactionOccured(InteractionEvent e)
Description copied from interface: InteractionListener
Called when an interaction has occurred-

Yes, embarrassing as it is, we are aware that occurred it is spelled wrong.

Specified by:
interactionOccured in interface InteractionListener
Parameters:
e - The event

addInteractionListener

public void addInteractionListener(InteractionListener l)

addInteractionListener

public void addInteractionListener(InteractionListener l,
                                   boolean asWeakRef)

removeInteractionListener

public void removeInteractionListener(InteractionListener l)

isIgnoreInteractionEvents

public boolean isIgnoreInteractionEvents()
Transfer to ListenerSet.isIgnoreEvents()


setIgnoreInteractionEvents

public boolean setIgnoreInteractionEvents(boolean b)
Transfer to ListenerSet.setIgnoreEvents(boolean)



Copyright © 2009 MiG InfoCom AB. All Rights Reserved.