Class CompoundBorder

java.lang.Object
org.eclipse.draw2d.AbstractBorder
org.eclipse.draw2d.CompoundBorder
All Implemented Interfaces:
Border
Direct Known Subclasses:
FrameBorder

public class CompoundBorder extends AbstractBorder
CompoundBorder allows for the nesting of two borders. The nested borders are referred to as the inner and outer borders.
  • Field Details

    • inner

      protected Border inner
      The inner Border.
    • outer

      protected Border outer
      The outer Border.
  • Constructor Details

    • CompoundBorder

      public CompoundBorder()
      Constructs a default CompoundBorder with no borders under it.
      Since:
      2.0
    • CompoundBorder

      public CompoundBorder(Border outer, Border inner)
      Constructs a CompoundBorder with the two borders specified as input.
      Parameters:
      outer - Border which is drawn on the outside
      inner - Border which is drawn inside the outer border
      Since:
      2.0
  • Method Details

    • getInnerBorder

      public Border getInnerBorder()
      Returns the inner border of this CompoundBorder.
      Returns:
      The inner border
      Since:
      2.0
    • getInsets

      public Insets getInsets(IFigure figure)
      Returns the total insets required to hold both the inner and outer borders of this CompoundBorder.
      Parameters:
      figure - Figure for which this is the border
      Returns:
      The total insets for this border
      Since:
      2.0
    • getPreferredSize

      public Dimension getPreferredSize(IFigure fig)
      Description copied from interface: Border
      Returns the preferred width and height that this border would like to display itself properly.
      Specified by:
      getPreferredSize in interface Border
      Overrides:
      getPreferredSize in class AbstractBorder
      Parameters:
      fig - The figure
      Returns:
      The preferred size
      See Also:
    • getOuterBorder

      public Border getOuterBorder()
      Returns the outer border of this CompoundBorder.
      Returns:
      The outer border
      Since:
      2.0
    • isOpaque

      public boolean isOpaque()
      Returns true if this border is opaque. Return value is dependent on the opaque state of both the borders it contains. Both borders have to be opaque for this border to be opaque. In the absence of any of the borders, this border is not opaque.
      Specified by:
      isOpaque in interface Border
      Overrides:
      isOpaque in class AbstractBorder
      Returns:
      true if this border is opaque
      See Also:
    • paint

      public void paint(IFigure figure, Graphics g, Insets insets)
      Description copied from interface: Border
      Paints the border. The border should paint inside figure's IFigure.getBounds(), inset by the parameter insets. The border generally should not paint inside its own insets. More specifically, Border b should paint inside the rectangle: figure.getBounds().getCropped(insets) and outside of the rectangle: figure.getBounds().getCropped(insets).getCropped(getInsets()) where inside is defined as Rectangle.contains(int, int).
      Parameters:
      figure - The figure this border belongs to
      g - The graphics object used for painting
      insets - The insets
      See Also: