javax.swing.plaf.metal

## Class MetalIconFactory

- java.lang.Object
- - javax.swing.plaf.metal.MetalIconFactory

- All Implemented Interfaces:
    Serializable

      public class MetalIconFactory
      extends Object
      implements Serializable

  Factory object that vends `Icon`s for the Java™ look and feel (Metal). These icons are used extensively in Metal via the defaults mechanism. While other look and feels often use GIFs for icons, creating icons in code facilitates switching to other themes.

  Each method in this class returns either an `Icon` or `null`, where `null` implies that there is no default 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`.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `MetalIconFactory.FileIcon16` | Warning: Serialized objects of this class will not be compatible with future Swing releases.
    `static class` | `MetalIconFactory.FolderIcon16` | Warning: Serialized objects of this class will not be compatible with future Swing releases.
    `static class` | `MetalIconFactory.PaletteCloseIcon` | Defines an icon for Palette close
    `static class` | `MetalIconFactory.TreeControlIcon` | Warning: Serialized objects of this class will not be compatible with future Swing releases.
    `static class` | `MetalIconFactory.TreeFolderIcon` | Warning: Serialized objects of this class will not be compatible with future Swing releases.
    `static class` | `MetalIconFactory.TreeLeafIcon` |

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static boolean` | `DARK` |
    `static boolean` | `LIGHT` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `MetalIconFactory()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static Icon` | `getCheckBoxIcon()` | Returns a checkbox icon.
    `static Icon` | `getCheckBoxMenuItemIcon()` |
    `static Icon` | `getFileChooserDetailViewIcon()` |
    `static Icon` | `getFileChooserHomeFolderIcon()` |
    `static Icon` | `getFileChooserListViewIcon()` |
    `static Icon` | `getFileChooserNewFolderIcon()` |
    `static Icon` | `getFileChooserUpFolderIcon()` |
    `static Icon` | `getHorizontalSliderThumbIcon()` |
    `static Icon` | `getInternalFrameAltMaximizeIcon(int size)` |
    `static Icon` | `getInternalFrameCloseIcon(int size)` |
    `static Icon` | `getInternalFrameDefaultMenuIcon()` |
    `static Icon` | `getInternalFrameMaximizeIcon(int size)` |
    `static Icon` | `getInternalFrameMinimizeIcon(int size)` |
    `static Icon` | `getMenuArrowIcon()` |
    `static Icon` | `getMenuItemArrowIcon()` |
    `static Icon` | `getMenuItemCheckIcon()` | Returns an icon to be used by `JCheckBoxMenuItem`.
    `static Icon` | `getRadioButtonIcon()` |
    `static Icon` | `getRadioButtonMenuItemIcon()` |
    `static Icon` | `getTreeComputerIcon()` |
    `static Icon` | `getTreeControlIcon(boolean isCollapsed)` |
    `static Icon` | `getTreeFloppyDriveIcon()` |
    `static Icon` | `getTreeFolderIcon()` |
    `static Icon` | `getTreeHardDriveIcon()` |
    `static Icon` | `getTreeLeafIcon()` |
    `static Icon` | `getVerticalSliderThumbIcon()` |

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

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

- - ### Field Detail

    - #### DARK

          public static final boolean DARK

      See Also:
        Constant Field Values

    - #### LIGHT

          public static final boolean LIGHT

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### MetalIconFactory

          public MetalIconFactory()

  - ### Method Detail

    - #### getFileChooserDetailViewIcon

          public static Icon getFileChooserDetailViewIcon()

    - #### getFileChooserHomeFolderIcon

          public static Icon getFileChooserHomeFolderIcon()

    - #### getFileChooserListViewIcon

          public static Icon getFileChooserListViewIcon()

    - #### getFileChooserNewFolderIcon

          public static Icon getFileChooserNewFolderIcon()

    - #### getFileChooserUpFolderIcon

          public static Icon getFileChooserUpFolderIcon()

    - #### getInternalFrameAltMaximizeIcon

          public static Icon getInternalFrameAltMaximizeIcon(int size)

    - #### getInternalFrameCloseIcon

          public static Icon getInternalFrameCloseIcon(int size)

    - #### getInternalFrameDefaultMenuIcon

          public static Icon getInternalFrameDefaultMenuIcon()

    - #### getInternalFrameMaximizeIcon

          public static Icon getInternalFrameMaximizeIcon(int size)

    - #### getInternalFrameMinimizeIcon

          public static Icon getInternalFrameMinimizeIcon(int size)

    - #### getRadioButtonIcon

          public static Icon getRadioButtonIcon()

    - #### getCheckBoxIcon

          public static Icon getCheckBoxIcon()

      Returns a checkbox icon.
      Since:
        1.3

    - #### getTreeComputerIcon

          public static Icon getTreeComputerIcon()

    - #### getTreeFloppyDriveIcon

          public static Icon getTreeFloppyDriveIcon()

    - #### getTreeFolderIcon

          public static Icon getTreeFolderIcon()

    - #### getTreeHardDriveIcon

          public static Icon getTreeHardDriveIcon()

    - #### getTreeLeafIcon

          public static Icon getTreeLeafIcon()

    - #### getTreeControlIcon

          public static Icon getTreeControlIcon(boolean isCollapsed)

    - #### getMenuArrowIcon

          public static Icon getMenuArrowIcon()

    - #### getMenuItemCheckIcon

          public static Icon getMenuItemCheckIcon()

      Returns an icon to be used by `JCheckBoxMenuItem`.
      Returns:
        the default icon for check box menu items, or `null` if no default exists

    - #### getMenuItemArrowIcon

          public static Icon getMenuItemArrowIcon()

    - #### getCheckBoxMenuItemIcon

          public static Icon getCheckBoxMenuItemIcon()

    - #### getRadioButtonMenuItemIcon

          public static Icon getRadioButtonMenuItemIcon()

    - #### getHorizontalSliderThumbIcon

          public static Icon getHorizontalSliderThumbIcon()

    - #### getVerticalSliderThumbIcon

          public static Icon getVerticalSliderThumbIcon()

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.