Class ChopboxAnchor

All Implemented Interfaces:
AncestorListener, ConnectionAnchor
Direct Known Subclasses:
LabelAnchor, RoundedRectangleAnchor

public class ChopboxAnchor extends AbstractConnectionAnchor
The ChopboxAnchor's location is found by calculating the intersection of a line drawn from the center point of its owner's box to a reference point on that box. Thus Connections using the ChopBoxAnchor will be oriented such that they point to their owner's center.
  • Constructor Details

    • ChopboxAnchor

      protected ChopboxAnchor()
      Constructs a new ChopboxAnchor.
    • ChopboxAnchor

      public ChopboxAnchor(IFigure owner)
      Constructs a ChopboxAnchor with the given owner figure.
      Parameters:
      owner - The owner figure
      Since:
      2.0
  • Method Details

    • getLocation

      public Point getLocation(Point reference)
      Gets a Rectangle from getBox() and returns the Point where a line from the center of the Rectangle to the Point reference intersects the Rectangle.
      Parameters:
      reference - The reference point
      Returns:
      The anchor location
    • getBox

      protected Rectangle getBox()
      Returns the bounds of this ChopboxAnchor's owner. Subclasses can override this method to adjust the box the anchor can be placed on. For instance, the owner figure may have a drop shadow that should not be included in the box.
      Returns:
      The bounds of this ChopboxAnchor's owner
      Since:
      2.0
    • getReferencePoint

      public Point getReferencePoint()
      Returns the anchor's reference point. In the case of the ChopboxAnchor, this is the center of the anchor's owner.
      Specified by:
      getReferencePoint in interface ConnectionAnchor
      Overrides:
      getReferencePoint in class AbstractConnectionAnchor
      Returns:
      The reference point
      See Also:
    • equals

      public boolean equals(Object obj)
      Returns true if the other anchor has the same owner and box.
      Overrides:
      equals in class Object
      Parameters:
      obj - the other anchor
      Returns:
      true if equal
    • hashCode

      public int hashCode()
      The owning figure's hashcode is used since equality is approximately based on the owner.
      Overrides:
      hashCode in class Object
      Returns:
      the hash code.