# Class BevelBorder

java.lang.Object
javax.swing.border.AbstractBorder
javax.swing.border.BevelBorder

All Implemented Interfaces:
  `Serializable, Border`

Direct Known Subclasses:
  `BorderUIResource.BevelBorderUIResource, SoftBevelBorder`

public class BevelBorder extends AbstractBorder
A class which implements a simple two-line bevel border.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans has been added to the `java.beans` package. Please see `XMLEncoder`.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected int`
  `bevelType`
  The bevel type.
  `protected Color`
  `highlightInner`
  The color to use for the bevel inner highlight.
  `protected Color`
  `highlightOuter`
  The color to use for the bevel outer highlight.
  `static final int`
  `LOWERED`
  Lowered bevel type.
  `static final int`
  `RAISED`
  Raised bevel type.
  `protected Color`
  `shadowInner`
  The color to use for the bevel inner shadow.
  `protected Color`
  `shadowOuter`
  the color to use for the bevel outer shadow

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BevelBorder(int bevelType)`
  Creates a bevel border with the specified type and whose colors will be derived from the background color of the component passed into the paintBorder method.
  `BevelBorder(int bevelType, Color highlight, Color shadow)`
  Creates a bevel border with the specified type, highlight and shadow colors.
  `BevelBorder(int bevelType, Color highlightOuterColor, Color highlightInnerColor, Color shadowOuterColor, Color shadowInnerColor)`
  Creates a bevel border with the specified type, highlight and shadow colors.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getBevelType()`
  Returns the type of the bevel border.
  `Insets`
  `getBorderInsets(Component c, Insets insets)`
  Reinitialize the insets parameter with this Border's current Insets.
  `Color`
  `getHighlightInnerColor()`
  Returns the inner highlight color of the bevel border.
  `Color`
  `getHighlightInnerColor(Component c)`
  Returns the inner highlight color of the bevel border when rendered on the specified component.
  `Color`
  `getHighlightOuterColor()`
  Returns the outer highlight color of the bevel border.
  `Color`
  `getHighlightOuterColor(Component c)`
  Returns the outer highlight color of the bevel border when rendered on the specified component.
  `Color`
  `getShadowInnerColor()`
  Returns the inner shadow color of the bevel border.
  `Color`
  `getShadowInnerColor(Component c)`
  Returns the inner shadow color of the bevel border when rendered on the specified component.
  `Color`
  `getShadowOuterColor()`
  Returns the outer shadow color of the bevel border.
  `Color`
  `getShadowOuterColor(Component c)`
  Returns the outer shadow color of the bevel border when rendered on the specified component.
  `boolean`
  `isBorderOpaque()`
  Returns whether or not the border is opaque.
  `void`
  `paintBorder(Component c, Graphics g, int x, int y, int width, int height)`
  Paints the border for the specified component with the specified position and size.
  `protected void`
  `paintLoweredBevel(Component c, Graphics g, int x, int y, int width, int height)`
  Paints a lowered bevel for the specified component with the specified position and size.
  `protected void`
  `paintRaisedBevel(Component c, Graphics g, int x, int y, int width, int height)`
  Paints a raised bevel for the specified component with the specified position and size.

  ### Methods declared in class AbstractBorder

  `getBaseline, getBaselineResizeBehavior, getBorderInsets, getInteriorRectangle, getInteriorRectangle`
  Modifier and Type
  Method
  Description
  `int`
  `getBaseline(Component c, int width, int height)`
  Returns the baseline.
  `Component.BaselineResizeBehavior`
  `getBaselineResizeBehavior(Component c)`
  Returns an enum indicating how the baseline of a component changes as the size changes.
  `Insets`
  `getBorderInsets(Component c)`
  This default implementation returns a new `Insets` object that is initialized by the `AbstractBorder.getBorderInsets(Component,Insets)` method.
  `Rectangle`
  `getInteriorRectangle(Component c, int x, int y, int width, int height)`
  This convenience method calls the static method.
  `static Rectangle`
  `getInteriorRectangle(Component c, Border b, int x, int y, int width, int height)`
  Returns a rectangle using the arguments minus the insets of the border.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Field Details

  - ### RAISED

    public static final int RAISED
    Raised bevel type.
    See Also:
      - Constant Field Values

  - ### LOWERED

    public static final int LOWERED
    Lowered bevel type.
    See Also:
      - Constant Field Values

  - ### bevelType

    protected int bevelType
    The bevel type.

  - ### highlightOuter

    protected Color highlightOuter
    The color to use for the bevel outer highlight.

  - ### highlightInner

    protected Color highlightInner
    The color to use for the bevel inner highlight.

  - ### shadowInner

    protected Color shadowInner
    The color to use for the bevel inner shadow.

  - ### shadowOuter

    protected Color shadowOuter
    the color to use for the bevel outer shadow

- ## Constructor Details

  - ### BevelBorder

    public BevelBorder(int bevelType)
    Creates a bevel border with the specified type and whose colors will be derived from the background color of the component passed into the paintBorder method.
    Parameters:
      `bevelType` - the type of bevel for the border

  - ### BevelBorder

    public BevelBorder(int bevelType, Color highlight, Color shadow)
    Creates a bevel border with the specified type, highlight and shadow colors. The bevel outer highlight color and bevel inner highlight color will be derived from specified highlight color and bevel outer shadow color and bevel inner shadow color will be derived from specified shadow color.
    Parameters:
      `bevelType` - the type of bevel for the border
      `highlight` - the color to use for the bevel highlight
      `shadow` - the color to use for the bevel shadow

  - ### BevelBorder

    @ConstructorProperties({"bevelType","highlightOuterColor","highlightInnerColor","shadowOuterColor","shadowInnerColor"}) public BevelBorder(int bevelType, Color highlightOuterColor, Color highlightInnerColor, Color shadowOuterColor, Color shadowInnerColor)
    Creates a bevel border with the specified type, highlight and shadow colors.
    Parameters:
      `bevelType` - the type of bevel for the border
      `highlightOuterColor` - the color to use for the bevel outer highlight
      `highlightInnerColor` - the color to use for the bevel inner highlight
      `shadowOuterColor` - the color to use for the bevel outer shadow
      `shadowInnerColor` - the color to use for the bevel inner shadow

- ## Method Details

  - ### paintBorder

    public void paintBorder(Component c, Graphics g, int x, int y, int width, int height)
    Paints the border for the specified component with the specified position and size.
    Specified by:
      `paintBorder` in interface `Border`
    Overrides:
      `paintBorder` in class `AbstractBorder`
    Parameters:
      `c` - the component for which this border is being painted
      `g` - the paint graphics
      `x` - the x position of the painted border
      `y` - the y position of the painted border
      `width` - the width of the painted border
      `height` - the height of the painted border

  - ### getBorderInsets

    public Insets getBorderInsets(Component c, Insets insets)
    Reinitialize the insets parameter with this Border's current Insets.
    Overrides:
      `getBorderInsets` in class `AbstractBorder`
    Parameters:
      `c` - the component for which this border insets value applies
      `insets` - the object to be reinitialized
    Returns:
      the `insets` object
    Throws:
      `NullPointerException` - if the specified `insets` is `null`

  - ### getHighlightOuterColor

    public Color getHighlightOuterColor(Component c)
    Returns the outer highlight color of the bevel border when rendered on the specified component. If no highlight color was specified at instantiation, the highlight color is derived from the specified component's background color.
    Parameters:
      `c` - the component for which the highlight may be derived
    Returns:
      the outer highlight `Color`
    Since:
      1.3

  - ### getHighlightInnerColor

    public Color getHighlightInnerColor(Component c)
    Returns the inner highlight color of the bevel border when rendered on the specified component. If no highlight color was specified at instantiation, the highlight color is derived from the specified component's background color.
    Parameters:
      `c` - the component for which the highlight may be derived
    Returns:
      the inner highlight `Color`
    Since:
      1.3

  - ### getShadowInnerColor

    public Color getShadowInnerColor(Component c)
    Returns the inner shadow color of the bevel border when rendered on the specified component. If no shadow color was specified at instantiation, the shadow color is derived from the specified component's background color.
    Parameters:
      `c` - the component for which the shadow may be derived
    Returns:
      the inner shadow `Color`
    Since:
      1.3

  - ### getShadowOuterColor

    public Color getShadowOuterColor(Component c)
    Returns the outer shadow color of the bevel border when rendered on the specified component. If no shadow color was specified at instantiation, the shadow color is derived from the specified component's background color.
    Parameters:
      `c` - the component for which the shadow may be derived
    Returns:
      the outer shadow `Color`
    Since:
      1.3

  - ### getHighlightOuterColor

    public Color getHighlightOuterColor()
    Returns the outer highlight color of the bevel border. Will return null if no highlight color was specified at instantiation.
    Returns:
      the outer highlight `Color` or `null` if no highlight color was specified
    Since:
      1.3

  - ### getHighlightInnerColor

    public Color getHighlightInnerColor()
    Returns the inner highlight color of the bevel border. Will return null if no highlight color was specified at instantiation.
    Returns:
      the inner highlight `Color` or `null` if no highlight color was specified
    Since:
      1.3

  - ### getShadowInnerColor

    public Color getShadowInnerColor()
    Returns the inner shadow color of the bevel border. Will return null if no shadow color was specified at instantiation.
    Returns:
      the inner shadow `Color` or `null` if no shadow color was specified
    Since:
      1.3

  - ### getShadowOuterColor

    public Color getShadowOuterColor()
    Returns the outer shadow color of the bevel border. Will return null if no shadow color was specified at instantiation.
    Returns:
      the outer shadow `Color` or `null` if no shadow color was specified
    Since:
      1.3

  - ### getBevelType

    public int getBevelType()
    Returns the type of the bevel border.
    Returns:
      the bevel border type, either `RAISED` or `LOWERED`

  - ### isBorderOpaque

    public boolean isBorderOpaque()
    Returns whether or not the border is opaque. This implementation returns `true`.
    Specified by:
      `isBorderOpaque` in interface `Border`
    Overrides:
      `isBorderOpaque` in class `AbstractBorder`
    Returns:
      true

  - ### paintRaisedBevel

    protected void paintRaisedBevel(Component c, Graphics g, int x, int y, int width, int height)
    Paints a raised bevel for the specified component with the specified position and size.
    Parameters:
      `c` - the component for which the raised bevel is being painted
      `g` - the paint graphics
      `x` - the x position of the raised bevel
      `y` - the y position of the raised bevel
      `width` - the width of the raised bevel
      `height` - the height of the raised bevel

  - ### paintLoweredBevel

    protected void paintLoweredBevel(Component c, Graphics g, int x, int y, int width, int height)
    Paints a lowered bevel for the specified component with the specified position and size.
    Parameters:
      `c` - the component for which the lowered bevel is being painted
      `g` - the paint graphics
      `x` - the x position of the lowered bevel
      `y` - the y position of the lowered bevel
      `width` - the width of the lowered bevel
      `height` - the height of the lowered bevel