canvas
Class DropDragShapeComponent

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--canvas.ShapeComponent
                          |
                          +--canvas.DropDragShapeComponent
All Implemented Interfaces:
CanvasComponent, DragComponent, DragSourceListener, EventListener, ImageObserver, MenuContainer, RotatingCanvasComponent, Serializable, Transferable
Direct Known Subclasses:
Arc, Ellipse, Line, Rect

public class DropDragShapeComponent
extends ShapeComponent
implements Transferable, DragSourceListener, DragComponent

Provides a set of methods that allow ShapeComponents to listen for mouse, keyboard, and drag-and-drop events using a DefaultListener

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class canvas.ShapeComponent
debug, name
 
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
DropDragShapeComponent(Shape shape, boolean filled, Color color)
           
 
Method Summary
 boolean acceptDrop(Object dropped)
          You should override this method in subclass to get drag/drop to work with your shapes.
 void addDragListener()
          Allows this Shape to listen for Drag & Drop
 void addKeyboardListener()
          Allows this Shape to Listen for Arrow Keys Note: Only one shape will listen for key strokes at a time to obtain the focus for this shape, you need to call the Shape's getFocus() method.
 void addMouseListener()
          Allows this Shape to listen for Mouse Events.
 void dragDropEnd(DragSourceDropEvent dsde)
          You should not need to use this method
 void dragEnter(DragSourceDragEvent dsde)
          You should not need to use this method
 void dragExit(DragSourceEvent dse)
          You should not need to use this method
 void dragOver(DragSourceDragEvent dsde)
          You should not need to use this method
 void dropActionChanged(DragSourceDragEvent dsde)
          You should not need to use this method
 Object getTransferData(DataFlavor flavor)
          You should not need to use this method
 DataFlavor[] getTransferDataFlavors()
          You should not need to use this method
 boolean isDataFlavorSupported(DataFlavor flavor)
          You should not need to use this method
 Object manufactureDroppable()
          You should override this method in subclass to get drag/drop to work with your shapes.
 boolean okToDrag()
          Returns whether it's OK to drag this object
 void removeDragListener()
          Removes this Shape's ability to listen for Drag & Drop
 void removeKeyboardListener()
          Removes this Shape's ability to Listen for Arrow Keys
 void removeMouseListener()
          Removes Shape's ability to listen for Mouse Events.
 void resetBorder()
          You should not need to use this method
 void setInvolvedInDrop(canvas.DragComponent drop)
           
 void setListener(canvas.DefaultListener newListener)
          Will set the listener from the default to your subclass of a DefaultListener so you can obtain function from the listeners
 
Methods inherited from class canvas.ShapeComponent
displace, displace, getDrawingPane, getFilled, getPreferredSize, getShape, getShapeHeight, getShapeWidth, getShapeX, getShapeY, moveTo, moveTo, paint, redraw, resizeTo, resizeTo, rotate, rotateAbout, rotateAbout, setDebug, setFeedbackText, setFilled, smoothDisplace, smoothDisplace, smoothMove, smoothMove, smoothResize, smoothResize, smoothRotate, smoothRotateAbout, smoothRotateAbout, toString
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface canvas.DragComponent
setBorder
 
Methods inherited from interface canvas.CanvasComponent
getHeight, getWidth
 

Constructor Detail

DropDragShapeComponent

public DropDragShapeComponent(Shape shape,
                              boolean filled,
                              Color color)
Method Detail

manufactureDroppable

public Object manufactureDroppable()
You should override this method in subclass to get drag/drop to work with your shapes.

Specified by:
manufactureDroppable in interface DragComponent

acceptDrop

public boolean acceptDrop(Object dropped)
You should override this method in subclass to get drag/drop to work with your shapes.

Specified by:
acceptDrop in interface DragComponent

okToDrag

public boolean okToDrag()
Description copied from interface: DragComponent
Returns whether it's OK to drag this object

Specified by:
okToDrag in interface DragComponent

setInvolvedInDrop

public void setInvolvedInDrop(canvas.DragComponent drop)

addMouseListener

public void addMouseListener()
Allows this Shape to listen for Mouse Events.


removeMouseListener

public void removeMouseListener()
Removes Shape's ability to listen for Mouse Events.


addDragListener

public void addDragListener()
Allows this Shape to listen for Drag & Drop


removeDragListener

public void removeDragListener()
Removes this Shape's ability to listen for Drag & Drop


addKeyboardListener

public void addKeyboardListener()
Allows this Shape to Listen for Arrow Keys Note: Only one shape will listen for key strokes at a time to obtain the focus for this shape, you need to call the Shape's getFocus() method.


removeKeyboardListener

public void removeKeyboardListener()
Removes this Shape's ability to Listen for Arrow Keys


setListener

public void setListener(canvas.DefaultListener newListener)
Will set the listener from the default to your subclass of a DefaultListener so you can obtain function from the listeners


getTransferData

public Object getTransferData(DataFlavor flavor)
You should not need to use this method

Specified by:
getTransferData in interface Transferable

getTransferDataFlavors

public DataFlavor[] getTransferDataFlavors()
You should not need to use this method

Specified by:
getTransferDataFlavors in interface Transferable

isDataFlavorSupported

public boolean isDataFlavorSupported(DataFlavor flavor)
You should not need to use this method

Specified by:
isDataFlavorSupported in interface Transferable

dragDropEnd

public void dragDropEnd(DragSourceDropEvent dsde)
You should not need to use this method

Specified by:
dragDropEnd in interface DragSourceListener

dragEnter

public void dragEnter(DragSourceDragEvent dsde)
You should not need to use this method

Specified by:
dragEnter in interface DragSourceListener

dragExit

public void dragExit(DragSourceEvent dse)
You should not need to use this method

Specified by:
dragExit in interface DragSourceListener

dragOver

public void dragOver(DragSourceDragEvent dsde)
You should not need to use this method

Specified by:
dragOver in interface DragSourceListener

dropActionChanged

public void dropActionChanged(DragSourceDragEvent dsde)
You should not need to use this method

Specified by:
dropActionChanged in interface DragSourceListener

resetBorder

public void resetBorder()
You should not need to use this method

Specified by:
resetBorder in interface DragComponent