javax.swing.border

## Class MatteBorder

- java.lang.Object
- - javax.swing.border.AbstractBorder
  - - javax.swing.border.EmptyBorder
    - - javax.swing.border.MatteBorder

- All Implemented Interfaces:
    Serializable, Border
  Direct Known Subclasses:
    BorderUIResource.MatteBorderUIResource

      public class MatteBorder
      extends EmptyBorder

  A class which provides a matte-like border of either a solid color or a tiled icon.

  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 Color` | `color` |
    `protected Icon` | `tileIcon` |

    - ### Fields inherited from class javax.swing.border.EmptyBorder

      `bottom, left, right, top`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `MatteBorder(Icon tileIcon)` | Creates a matte border with the specified tile icon.
    `MatteBorder(Insets borderInsets, Color matteColor)` | Creates a matte border with the specified insets and color.
    `MatteBorder(Insets borderInsets, Icon tileIcon)` | Creates a matte border with the specified insets and tile icon.
    `MatteBorder(int top, int left, int bottom, int right, Color matteColor)` | Creates a matte border with the specified insets and color.
    `MatteBorder(int top, int left, int bottom, int right, Icon tileIcon)` | Creates a matte border with the specified insets and tile icon.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Insets` | `getBorderInsets()` | Returns the insets of the border.
    `Insets` | `getBorderInsets(Component c, Insets insets)` | Reinitialize the insets parameter with this Border's current Insets.
    `Color` | `getMatteColor()` | Returns the color used for tiling the border or null if a tile icon is being used.
    `Icon` | `getTileIcon()` | Returns the icon used for tiling the border or null if a solid color is being used.
    `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 matte border.

    - ### Methods inherited from class javax.swing.border.AbstractBorder

      `getBaseline, getBaselineResizeBehavior, getBorderInsets, getInteriorRectangle, getInteriorRectangle`

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

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

- - ### Field Detail

    - #### color

          protected Color color

    - #### tileIcon

          protected Icon tileIcon

  - ### Constructor Detail

    - #### MatteBorder

          public MatteBorder(int top,
                             int left,
                             int bottom,
                             int right,
                             Color matteColor)

      Creates a matte border with the specified insets and color.
      Parameters:
        `top` - the top inset of the border
        `left` - the left inset of the border
        `bottom` - the bottom inset of the border
        `right` - the right inset of the border
        `matteColor` - the color rendered for the border

    - #### MatteBorder

          public MatteBorder(Insets borderInsets,
                             Color matteColor)

      Creates a matte border with the specified insets and color.
      Parameters:
        `borderInsets` - the insets of the border
        `matteColor` - the color rendered for the border
      Since:
        1.3

    - #### MatteBorder

          public MatteBorder(int top,
                             int left,
                             int bottom,
                             int right,
                             Icon tileIcon)

      Creates a matte border with the specified insets and tile icon.
      Parameters:
        `top` - the top inset of the border
        `left` - the left inset of the border
        `bottom` - the bottom inset of the border
        `right` - the right inset of the border
        `tileIcon` - the icon to be used for tiling the border

    - #### MatteBorder

          public MatteBorder(Insets borderInsets,
                             Icon tileIcon)

      Creates a matte border with the specified insets and tile icon.
      Parameters:
        `borderInsets` - the insets of the border
        `tileIcon` - the icon to be used for tiling the border
      Since:
        1.3

    - #### MatteBorder

          public MatteBorder(Icon tileIcon)

      Creates a matte border with the specified tile icon. The insets will be calculated dynamically based on the size of the tile icon, where the top and bottom will be equal to the tile icon's height, and the left and right will be equal to the tile icon's width.
      Parameters:
        `tileIcon` - the icon to be used for tiling the border

  - ### Method Detail

    - #### paintBorder

          public void paintBorder(Component c,
                                  Graphics g,
                                  int x,
                                  int y,
                                  int width,
                                  int height)

      Paints the matte border.
      Specified by:
        `paintBorder` in interface `Border`
      Overrides:
        `paintBorder` in class `EmptyBorder`
      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 `EmptyBorder`
      Parameters:
        `c` - the component for which this border insets value applies
        `insets` - the object to be reinitialized
      Returns:
        the `insets` object
      Since:
        1.3

    - #### getBorderInsets

          public Insets getBorderInsets()

      Returns the insets of the border.
      Overrides:
        `getBorderInsets` in class `EmptyBorder`
      Since:
        1.3

    - #### getMatteColor

          public Color getMatteColor()

      Returns the color used for tiling the border or null if a tile icon is being used.
      Since:
        1.3

    - #### getTileIcon

          public Icon getTileIcon()

      Returns the icon used for tiling the border or null if a solid color is being used.
      Since:
        1.3

    - #### isBorderOpaque

          public boolean isBorderOpaque()

      Returns whether or not the border is opaque.
      Specified by:
        `isBorderOpaque` in interface `Border`
      Overrides:
        `isBorderOpaque` in class `EmptyBorder`
      Returns:
        false

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.