Icon (Java SE 26 & JDK 26)
Description: declaration: module: java.desktop, package: javax.swing, interface: Icon
Keywords: javax.swing.Icon interface

# Interface Icon

All Known Subinterfaces:
  `SynthIcon`

All Known Implementing Classes:
  `IconUIResource, ImageIcon, MetalCheckBoxIcon, MetalComboBoxIcon, MetalIconFactory.FileIcon16, MetalIconFactory.FolderIcon16, MetalIconFactory.PaletteCloseIcon, MetalIconFactory.TreeControlIcon, MetalIconFactory.TreeFolderIcon, MetalIconFactory.TreeLeafIcon`

public interface Icon
A small fixed size picture, typically used to decorate components.

Since:
  1.2
See Also:
  - `ImageIcon`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getIconHeight()`
  Returns the icon's height.
  `int`
  `getIconWidth()`
  Returns the icon's width.
  `void`
  `paintIcon(Component c, Graphics g, int x, int y)`
  Draw the icon at the specified location.

- ## Method Details

  - ### paintIcon

    void paintIcon(Component c, Graphics g, int x, int y)
    Draw the icon at the specified location. Icon implementations may use the Component argument to get properties useful for painting, e.g. the foreground or background color.
    Parameters:
      `c` - a `Component` to get properties useful for painting
      `g` - the graphics context
      `x` - the X coordinate of the icon's top-left corner
      `y` - the Y coordinate of the icon's top-left corner

  - ### getIconWidth

    int getIconWidth()
    Returns the icon's width.
    Returns:
      an int specifying the fixed width of the icon.

  - ### getIconHeight

    int getIconHeight()
    Returns the icon's height.
    Returns:
      an int specifying the fixed height of the icon.