Class EtchedBorder

java.lang.Object
javax.swing.border.AbstractBorder
javax.swing.border.EtchedBorder
All Implemented Interfaces:
Serializable, Border
Direct Known Subclasses:
BorderUIResource.EtchedBorderUIResource

public class EtchedBorder extends AbstractBorder
A class which implements a simple etched border which can either be etched-in or etched-out. If no highlight/shadow colors are initialized when the border is created, then these colors will be dynamically derived from the background color of the component argument passed into the paintBorder() method.

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
    The type of etch to be drawn by the border.
    protected Color
    The color to use for the etched highlight.
    static final int
    Lowered etched type.
    static final int
    Raised etched type.
    protected Color
    The color to use for the etched shadow.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a lowered etched border whose colors will be derived from the background color of the component passed into the paintBorder method.
    EtchedBorder(int etchType)
    Creates an etched border with the specified etch-type whose colors will be derived from the background color of the component passed into the paintBorder method.
    EtchedBorder(int etchType, Color highlight, Color shadow)
    Creates an etched border with the specified etch-type, highlight and shadow colors.
    EtchedBorder(Color highlight, Color shadow)
    Creates a lowered etched border with the specified highlight and shadow colors.
  • Method Summary

    Modifier and Type
    Method
    Description
    Reinitialize the insets parameter with this Border's current Insets.
    int
    Returns which etch-type is set on the etched border.
    Returns the highlight color of the etched border.
    Returns the highlight color of the etched border when rendered on the specified component.
    Returns the shadow color of the etched border.
    Returns the shadow color of the etched border when rendered on the specified component.
    boolean
    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.

    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.
    Returns an enum indicating how the baseline of a component changes as the size changes.
    This default implementation returns a new Insets object that is initialized by the AbstractBorder.getBorderInsets(Component,Insets) method.
    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
    Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.
    boolean
    Compares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    May cause performance issues, deadlocks and hangs.
    final Class<? extends Object>
    Answers the unique instance of java.lang.Class which represents the class of the receiver.
    int
    Answers an integer hash code for the receiver.
    final void
    Causes one thread which is waiting on the receiver to be made ready to run.
    final void
    Causes all threads which are waiting on the receiver to be made ready to run.
    Answers a string containing a concise, human-readable description of the receiver.
    final void
    Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated by notify or notifyAll).
    final void
    wait(long time)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
    final void
    wait(long time, int frac)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
  • Field Details

    • RAISED

      public static final int RAISED
      Raised etched type.
      See Also:
    • LOWERED

      public static final int LOWERED
      Lowered etched type.
      See Also:
    • etchType

      protected int etchType
      The type of etch to be drawn by the border.
    • highlight

      protected Color highlight
      The color to use for the etched highlight.
    • shadow

      protected Color shadow
      The color to use for the etched shadow.
  • Constructor Details

    • EtchedBorder

      public EtchedBorder()
      Creates a lowered etched border whose colors will be derived from the background color of the component passed into the paintBorder method.
    • EtchedBorder

      public EtchedBorder(int etchType)
      Creates an etched border with the specified etch-type whose colors will be derived from the background color of the component passed into the paintBorder method.
      Parameters:
      etchType - the type of etch to be drawn by the border
    • EtchedBorder

      public EtchedBorder(Color highlight, Color shadow)
      Creates a lowered etched border with the specified highlight and shadow colors.
      Parameters:
      highlight - the color to use for the etched highlight
      shadow - the color to use for the etched shadow
    • EtchedBorder

      @ConstructorProperties({"etchType","highlightColor","shadowColor"}) public EtchedBorder(int etchType, Color highlight, Color shadow)
      Creates an etched border with the specified etch-type, highlight and shadow colors.
      Parameters:
      etchType - the type of etch to be drawn by the border
      highlight - the color to use for the etched highlight
      shadow - the color to use for the etched 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
    • 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
    • getEtchType

      public int getEtchType()
      Returns which etch-type is set on the etched border.
      Returns:
      the etched border type, either RAISED or LOWERED
    • getHighlightColor

      public Color getHighlightColor(Component c)
      Returns the highlight color of the etched 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 highlight Color of this EtchedBorder
      Since:
      1.3
    • getHighlightColor

      public Color getHighlightColor()
      Returns the highlight color of the etched border. Will return null if no highlight color was specified at instantiation.
      Returns:
      the highlight Color of this EtchedBorder or null if none was specified
      Since:
      1.3
    • getShadowColor

      public Color getShadowColor(Component c)
      Returns the shadow color of the etched 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 shadow Color of this EtchedBorder
      Since:
      1.3
    • getShadowColor

      public Color getShadowColor()
      Returns the shadow color of the etched border. Will return null if no shadow color was specified at instantiation.
      Returns:
      the shadow Color of this EtchedBorder or null if none was specified
      Since:
      1.3