Package org.eclipse.draw2d

# Class ButtonBorder

java.lang.Object
org.eclipse.draw2d.AbstractBorder
org.eclipse.draw2d.SchemeBorder
org.eclipse.draw2d.ButtonBorder

All Implemented Interfaces:
  `Border`, `ColorConstants`

public class ButtonBorder extends SchemeBorder
Creates a border for a clickable type of figure, which works in conjunction with the Figure and its model. This border adjusts itself to the various states the model of the figure could be. This border uses an extended `Scheme` called `ButtonBorder.ButtonScheme` which provides more information required by border to handle the the states of the model.

See Also:
  - `SchemeBorder.Scheme`
  - `ButtonBorder.ButtonScheme`

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`ButtonBorder.ButtonScheme`
Provides for a scheme to represent the borders of clickable figures like buttons.
`static interface`
`ButtonBorder.SCHEMES`
Interface defining commonly used schemes for the ButtonBorder.

## Nested classes/interfaces inherited from class org.eclipse.draw2d.SchemeBorder

`SchemeBorder.Scheme`

## Nested classes/interfaces inherited from interface org.eclipse.draw2d.ColorConstants

`ColorConstants.SystemColorFactory`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final Border`
`BUTTON`
Default button border.
`static final Border`
`BUTTON_CONTRAST`
Inverted highlight colors from BUTTON.
`static final Border`
`BUTTON_SCROLLBAR`
Used for scrollbar buttons.
`static final Border`
`TOOLBAR`
Used for toolbar buttons.

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

`DARKER_LIGHTER, DARKEST_DARKER, LIGHTER_DARKER, scheme`

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

`tempRect`

### Fields inherited from interface org.eclipse.draw2d.ColorConstants

`black, blue, button, buttonDarker, buttonDarkest, buttonLightest, cyan, darkBlue, darkGray, darkGreen, gray, green, lightBlue, lightGray, lightGreen, lineForeground, listBackground, listForeground, listHoverBackgroundColor, listSelectedBackgroundColor, menuBackground, menuBackgroundSelected, menuForeground, menuForegroundSelected, orange, red, titleBackground, titleForeground, titleGradient, titleInactiveBackground, titleInactiveForeground, titleInactiveGradient, tooltipBackground, tooltipForeground, white, yellow`

## Constructor Summary

Constructors
Constructor
Description
`ButtonBorder()`
Constructs a ButtonBorder with a predefined button scheme set as its default.
`ButtonBorder(ButtonBorder.ButtonScheme scheme)`
Constructs a ButtonBorder with the input ButtonScheme set as its Scheme.

## Method Summary

Modifier and Type
Method
Description
`void`
`paint(IFigure figure, Graphics graphics, Insets insets)`
Paints this border with the help of the set scheme, the model of the clickable figure, and other inputs.

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

`getInsets, getScheme, isOpaque, paint, setScheme`

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

`getPaintRectangle, getPreferredSize`

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

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

## Field Details

### BUTTON

public static final Border BUTTON
Default button border.

See Also:
  - `ButtonBorder.SCHEMES.BUTTON`

### BUTTON_CONTRAST

public static final Border BUTTON_CONTRAST
Inverted highlight colors from BUTTON.

See Also:
  - `ButtonBorder.SCHEMES.BUTTON_CONTRAST`

### BUTTON_SCROLLBAR

public static final Border BUTTON_SCROLLBAR
Used for scrollbar buttons.

See Also:
  - `ButtonBorder.SCHEMES.BUTTON_SCROLLBAR`

### TOOLBAR

public static final Border TOOLBAR
Used for toolbar buttons.

See Also:
  - `ButtonBorder.SCHEMES.TOOLBAR`

## Constructor Details

### ButtonBorder

public ButtonBorder()
Constructs a ButtonBorder with a predefined button scheme set as its default.

Since:
  2.0

### ButtonBorder

public ButtonBorder(ButtonBorder.ButtonScheme scheme)
Constructs a ButtonBorder with the input ButtonScheme set as its Scheme.

Parameters:
  `scheme` - ButtonScheme for this ButtonBorder.
Since:
  2.0

## Method Details

### paint

public void paint(IFigure figure, Graphics graphics, Insets insets)
Paints this border with the help of the set scheme, the model of the clickable figure, and other inputs. The scheme is used in conjunction with the state of the model to get the appropriate colors for the border.

Specified by:
  `paint` in interface `Border`
Overrides:
  `paint` in class `SchemeBorder`
Parameters:
  `figure` - The Clickable that this border belongs to
  `graphics` - The graphics used for painting
  `insets` - The insets
See Also:
  - `Border.paint(IFigure, Graphics, Insets)`