Class StraightTerminal

    • Constructor Detail

      • StraightTerminal

        public StraightTerminal()
        Create a new terminal which is not attached to anything. The terminal should not be displayed until after setAttachSite() is called.
      • StraightTerminal

        public StraightTerminal​(Site attachSite)
        Create a new terminal attached to the given site.
      • StraightTerminal

        public StraightTerminal​(Site attachSite,
                                java.awt.Stroke stroke,
                                java.awt.Paint paint)
        Create a new terminal attached to the given site, with the given stroke and paint. If the attach site is not yet available, pass a NullSite.
    • Method Detail

      • getAttachSite

        public Site getAttachSite()
        Get the site to which the terminal is attached
        Specified by:
        getAttachSite in interface Terminal
      • getBounds

        public java.awt.geom.Rectangle2D getBounds()
        Get the bounding box of this terminal.
        Specified by:
        getBounds in interface Figure
        Overrides:
        getBounds in class AbstractFigure
        Returns:
        the bounding box of this figure.
      • getConnectSite

        public Site getConnectSite()
        Get the site to which a connector can attach
        Specified by:
        getConnectSite in interface Terminal
      • getEnd

        public ConnectorEnd getEnd()
        Get the object drawn at the end of the terminal, if there is one.
      • getPaint

        public java.awt.Paint getPaint()
        Get the paint of this terminal.
      • getShape

        public java.awt.Shape getShape()
        Get the outline shape of this terminal.
        Specified by:
        getShape in interface Figure
        Specified by:
        getShape in class AbstractFigure
        Returns:
        the outline shape of this figure
      • getStroke

        public java.awt.Stroke getStroke()
        Get the stroke of this terminal.
      • hit

        public boolean hit​(java.awt.geom.Rectangle2D r)
        Test if this terminal is hit by the given rectangle.
        Specified by:
        hit in interface Figure
        Overrides:
        hit in class AbstractFigure
        Parameters:
        r - The rectangle to be checked.
        Returns:
        true if the figure is hit by the given rectangle.
      • paint

        public void paint​(java.awt.Graphics2D g)
        Paint the terminal.
        Specified by:
        paint in interface VisibleComponent
        Specified by:
        paint in class AbstractFigure
        Parameters:
        g - The 2D graphics object that this object it to be painted upon.
      • relocate

        public void relocate()
        Tell the terminal to reposition itself over the attachment site.
        Specified by:
        relocate in interface Terminal
      • setAttachSite

        public void setAttachSite​(Site s)
        Set the site to which the terminal is attached.
        Specified by:
        setAttachSite in interface Terminal
      • setEnd

        public void setEnd​(ConnectorEnd e)
        Set the object drawn at the end of the terminal.
      • setStroke

        public void setStroke​(java.awt.Stroke s)
        Set the stroke of this terminal. Currently, this call has no effect on the terminal end shape, if it has one.
      • setPaint

        public void setPaint​(java.awt.Paint p)
        Set the stroke paint pattern of this terminal. Currently, this call has no effect on the terminal end shape, if it has one.
      • transform

        public void transform​(java.awt.geom.AffineTransform at)
        Transform the terminal. This is ignored, since the location and orientation of a terminal is determined solely by its attachment site and other parameters.
        Specified by:
        transform in interface Figure
        Specified by:
        transform in class AbstractFigure
        Parameters:
        at - The transform to be used.
      • translate

        public void translate​(double x,
                              double y)
        Translate the terminal. This is implemented since it is the most efficient way for figures that contain terminals to translate themselves. However, this method does not call repaint(), on the assumption that the parent figure will do so anyway.
        Specified by:
        translate in interface Figure
        Overrides:
        translate in class AbstractFigure
        Parameters:
        x - The x value to be moved.
        y - The y value to be moved.