Documentation of 'org.jhotdraw.draw.tool.SelectionTool' Java class
SelectionTool
org.jhotdraw.draw.tool

Class SelectionTool

  • All Implemented Interfaces:
    java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.io.Serializable, java.lang.Cloneable, java.util.EventListener, Tool
    Direct Known Subclasses:
    DelegationSelectionTool


    public class SelectionTool
    extends AbstractTool
    Tool to select and manipulate figures.

    A selection tool is in one of three states: 1) area selection, 2) figure dragging, 3) handle manipulation. The different states are handled by different tracker objects: the DefaultSelectAreaTracker, the DefaultDragTracker and the DefaultHandleTracker.

    A Figure can be selected by clicking at it. Holding the alt key or the ctrl key down, selects the Figure behind it.


    Design Patterns

    Strategy
    The different behavior states of the selection tool are implemented by trackers.
    Context: SelectionTool; State: DragTracker, HandleTracker, SelectAreaTracker.

    Chain of responsibility
    Mouse and keyboard events of the user occur on the drawing view, and are preprocessed by the DragTracker of a SelectionTool. In turn DragTracker invokes "track" methods on a Handle which in turn changes an aspect of a figure.
    Client: SelectionTool; Handler: DragTracker, Handle.


    See Also:
    Serialized Form
    • Field Detail

      • SELECT_BEHIND_ENABLED_PROPERTY

        public static final java.lang.String SELECT_BEHIND_ENABLED_PROPERTY
        Constant for the name of the selectBehindEnabled property.
        See Also:
        Constant Field Values
    • Constructor Detail

      • SelectionTool

        public SelectionTool()
        Creates a new instance.
    • Method Detail

      • setSelectBehindEnabled

        public void setSelectBehindEnabled(boolean newValue)
        Sets the selectBehindEnabled property. This is a bound property.
        Parameters:
        newValue - The new value.
      • isSelectBehindEnabled

        public boolean isSelectBehindEnabled()
        Returns the value of the selectBehindEnabled property. This is a bound property.
        Returns:
        The property value.
      • activate

        public void activate(DrawingEditor editor)
        Description copied from interface: Tool
        Activates the tool for the given editor. This method is called whenever the user switches to this tool.
        Specified by:
        activate in interface Tool
        Overrides:
        activate in class AbstractTool
      • deactivate

        public void deactivate(DrawingEditor editor)
        Description copied from interface: Tool
        Deactivates the tool. This method is called whenever the user switches to another tool.
        Specified by:
        deactivate in interface Tool
        Overrides:
        deactivate in class AbstractTool
      • keyPressed

        public void keyPressed(java.awt.event.KeyEvent e)
        Description copied from class: AbstractTool
        The Tool uses the InputMap to determine what to do, when a key is pressed. If the corresponding value of the InputMap is a String, the ActionMap of the tool is used, to find the action to be performed. If the corresponding value of the InputMap is a ActionListener, the actionPerformed method of the ActionListener is performed.
        Specified by:
        keyPressed in interface java.awt.event.KeyListener
        Overrides:
        keyPressed in class AbstractTool
      • keyReleased

        public void keyReleased(java.awt.event.KeyEvent evt)
        Specified by:
        keyReleased in interface java.awt.event.KeyListener
        Overrides:
        keyReleased in class AbstractTool
      • keyTyped

        public void keyTyped(java.awt.event.KeyEvent evt)
        Specified by:
        keyTyped in interface java.awt.event.KeyListener
        Overrides:
        keyTyped in class AbstractTool
      • mouseClicked

        public void mouseClicked(java.awt.event.MouseEvent evt)
        Specified by:
        mouseClicked in interface java.awt.event.MouseListener
        Overrides:
        mouseClicked in class AbstractTool
      • mouseDragged

        public void mouseDragged(java.awt.event.MouseEvent evt)
      • mouseEntered

        public void mouseEntered(java.awt.event.MouseEvent evt)
        Specified by:
        mouseEntered in interface java.awt.event.MouseListener
        Overrides:
        mouseEntered in class AbstractTool
      • mouseExited

        public void mouseExited(java.awt.event.MouseEvent evt)
        Specified by:
        mouseExited in interface java.awt.event.MouseListener
        Overrides:
        mouseExited in class AbstractTool
      • mouseMoved

        public void mouseMoved(java.awt.event.MouseEvent evt)
        Specified by:
        mouseMoved in interface java.awt.event.MouseMotionListener
        Overrides:
        mouseMoved in class AbstractTool
      • mouseReleased

        public void mouseReleased(java.awt.event.MouseEvent evt)
        Specified by:
        mouseReleased in interface java.awt.event.MouseListener
        Overrides:
        mouseReleased in class AbstractTool
      • draw

        public void draw(java.awt.Graphics2D g)
        Description copied from interface: Tool
        Draws the tool.
        Specified by:
        draw in interface Tool
        Overrides:
        draw in class AbstractTool
      • mousePressed

        public void mousePressed(java.awt.event.MouseEvent evt)
        Specified by:
        mousePressed in interface java.awt.event.MouseListener
        Overrides:
        mousePressed in class AbstractTool
      • setHandleTracker

        public void setHandleTracker(HandleTracker newValue)
        Method to set a HandleTracker. If you specify null, the SelectionTool uses the DefaultHandleTracker.
      • setSelectAreaTracker

        public void setSelectAreaTracker(SelectAreaTracker newValue)
        Method to set a SelectAreaTracker. If you specify null, the SelectionTool uses the DefaultSelectAreaTracker.
      • setDragTracker

        public void setDragTracker(DragTracker newValue)
        Method to set a DragTracker. If you specify null, the SelectionTool uses the DefaultDragTracker.
      • supportsHandleInteraction

        public boolean supportsHandleInteraction()
        Returns true, if this tool lets the user interact with handles.

        Handles may draw differently, if interaction is not possible.

        Specified by:
        supportsHandleInteraction in interface Tool
        Overrides:
        supportsHandleInteraction in class AbstractTool
        Returns:
        True, if this tool supports interaction with the handles.

DataMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.