Class SwingWrapper

    • Constructor Detail

      • SwingWrapper

        public SwingWrapper​(javax.swing.JComponent c)
        Construct a new swing wrapper instance to wrap the given component.
    • Method Detail

      • getBounds

        public java.awt.geom.Rectangle2D getBounds()
        Get the bounding box of this figure. This method overrides the inherited method to take account of the thickness of the stroke, if there is one.
        Specified by:
        getBounds in interface Figure
        Overrides:
        getBounds in class AbstractFigure
        Returns:
        the bounding box of this figure.
      • getComponent

        public javax.swing.JComponent getComponent()
        Return the component that this is wrapping.
      • getShape

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

        public void paint​(java.awt.Graphics2D g)
        Ask the wrapped component to paint itself.
        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.
      • setComponent

        public void setComponent​(javax.swing.JComponent c)
        Replace the currently wrapped component with the given component and reshape/repaint the figure.
      • transform

        public void transform​(java.awt.geom.AffineTransform at)
        Transform the figure with the supplied transform. For now this throws an UnsupportedOperationException because it is unclear how we want to deal with transformations that are not shape-preserving, such as shears and rotations.
        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 figure by the given distance.
        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.