Package org.eclipse.draw2d

# Class GroupBoxBorder

java.lang.Object
org.eclipse.draw2d.AbstractBorder
org.eclipse.draw2d.AbstractLabeledBorder
org.eclipse.draw2d.GroupBoxBorder

All Implemented Interfaces:
  `Border`, `LabeledBorder`

public class GroupBoxBorder extends AbstractLabeledBorder
A labeled border intended to house a Figure with a group of children. The label should serve as a description of the group.

## Field Summary

### Fields inherited from class org.eclipse.draw2d.AbstractBorder

`tempRect`

## Constructor Summary

Constructors
Constructor
Description
`GroupBoxBorder()`
Constructs a GroupBoxBorder with the name of this class as its label.
`GroupBoxBorder(String s)`
Constructs a GroupBoxBorder with label s.

## Method Summary

Modifier and Type
Method
Description
`protected Insets`
`calculateInsets(IFigure figure)`
Calculates and returns the Insets for this GroupBoxBorder.
`Dimension`
`getPreferredSize(IFigure fig)`
Returns the preferred width and height that this border would like to display itself properly.
`void`
`paint(IFigure figure, Graphics g, Insets insets)`
Paints the border.

### Methods inherited from class org.eclipse.draw2d.AbstractLabeledBorder

`getFont, getInsets, getLabel, getTextColor, getTextExtents, invalidate, setFont, setLabel, setTextColor`

### Methods inherited from class org.eclipse.draw2d.AbstractBorder

`getPaintRectangle, isOpaque`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.eclipse.draw2d.Border

`isOpaque`

## Constructor Details

### GroupBoxBorder

public GroupBoxBorder()
Constructs a GroupBoxBorder with the name of this class as its label.

Since:
  2.0

### GroupBoxBorder

public GroupBoxBorder(String s)
Constructs a GroupBoxBorder with label s.

Parameters:
  `s` - the label
Since:
  2.0

## Method Details

### calculateInsets

protected Insets calculateInsets(IFigure figure)
Calculates and returns the Insets for this GroupBoxBorder.

Specified by:
  `calculateInsets` in class `AbstractLabeledBorder`
Parameters:
  `figure` - IFigure on which the calculations should be made. Generally this is the IFigure of which this GroupBoxBorder is surrounding.
Returns:
  the Insets for this GroupBoxBorder.
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 `AbstractLabeledBorder`
Parameters:
  `fig` - The figure
Returns:
  The preferred size
See Also:
  - `Border.getPreferredSize(IFigure)`

### 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:
  - `Border.paint(IFigure, Graphics, Insets)`