Module java.desktop

Class 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.

    See Also:
    Serialized Form
    • Field Detail

      • 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 Detail

      • 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 Detail

      • 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
      • 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