Module java.desktop
Package 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` | The class represents a tree leaf icon.

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static boolean` | `DARK` | `DARK` is used for the property `Tree.expandedIcon`.
    `static boolean` | `LIGHT` | `LIGHT` is used for the property `Tree.collapsedIcon`.

  - ### Constructor Summary

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

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `static Icon` | `getCheckBoxIcon()` | Returns a checkbox icon.
    `static Icon` | `getCheckBoxMenuItemIcon()` | Returns an icon to be used by `JCheckBoxMenuItem`.
    `static Icon` | `getFileChooserDetailViewIcon()` | Returns the instance of `FileChooserDetailViewIcon`.
    `static Icon` | `getFileChooserHomeFolderIcon()` | Returns the instance of `FileChooserHomeFolderIcon`.
    `static Icon` | `getFileChooserListViewIcon()` | Returns the instance of `FileChooserListViewIcon`.
    `static Icon` | `getFileChooserNewFolderIcon()` | Returns the instance of `FileChooserNewFolderIcon`.
    `static Icon` | `getFileChooserUpFolderIcon()` | Returns the instance of `FileChooserUpFolderIcon`.
    `static Icon` | `getHorizontalSliderThumbIcon()` | Returns a thumb icon to be used by horizontal slider.
    `static Icon` | `getInternalFrameAltMaximizeIcon​(int size)` | Constructs a new instance of `InternalFrameAltMaximizeIcon`.
    `static Icon` | `getInternalFrameCloseIcon​(int size)` | Constructs a new instance of `InternalFrameCloseIcon`.
    `static Icon` | `getInternalFrameDefaultMenuIcon()` | Returns the instance of `InternalFrameDefaultMenuIcon`.
    `static Icon` | `getInternalFrameMaximizeIcon​(int size)` | Constructs a new instance of `InternalFrameMaximizeIcon`.
    `static Icon` | `getInternalFrameMinimizeIcon​(int size)` | Constructs a new instance of `InternalFrameMinimizeIcon`.
    `static Icon` | `getMenuArrowIcon()` | Returns an icon to be used by `JMenu`.
    `static Icon` | `getMenuItemArrowIcon()` | Returns an icon to be used by `JMenuItem`.
    `static Icon` | `getMenuItemCheckIcon()` | Returns an icon to be used by `JCheckBoxMenuItem`.
    `static Icon` | `getRadioButtonIcon()` | Returns the instance of `RadioButtonIcon`.
    `static Icon` | `getRadioButtonMenuItemIcon()` | Returns an icon to be used by `JRadioButtonMenuItem`.
    `static Icon` | `getTreeComputerIcon()` | Returns the instance of `TreeComputerIcon`.
    `static Icon` | `getTreeControlIcon​(boolean isCollapsed)` | Constructs a new instance of `TreeControlIcon`.
    `static Icon` | `getTreeFloppyDriveIcon()` | Returns the instance of `TreeFloppyDriveIcon`.
    `static Icon` | `getTreeFolderIcon()` | Constructs a new instance of `TreeFolderIcon`.
    `static Icon` | `getTreeHardDriveIcon()` | Returns the instance of `TreeHardDriveIcon`.
    `static Icon` | `getTreeLeafIcon()` | Constructs a new instance of `TreeLeafIcon`.
    `static Icon` | `getVerticalSliderThumbIcon()` | Returns a thumb icon to be used by vertical slider.

    - ### Methods declared in class java.lang.Object

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

- - ### Field Detail

    - #### DARK

          public static final boolean DARK

      `DARK` is used for the property `Tree.expandedIcon`.
      See Also:
        Constant Field Values

    - #### LIGHT

          public static final boolean LIGHT

      `LIGHT` is used for the property `Tree.collapsedIcon`.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### MetalIconFactory

          public MetalIconFactory()

  - ### Method Detail

    - #### getFileChooserDetailViewIcon

          public static Icon getFileChooserDetailViewIcon()

      Returns the instance of `FileChooserDetailViewIcon`.
      Returns:
        the instance of `FileChooserDetailViewIcon`

    - #### getFileChooserHomeFolderIcon

          public static Icon getFileChooserHomeFolderIcon()

      Returns the instance of `FileChooserHomeFolderIcon`.
      Returns:
        the instance of `FileChooserHomeFolderIcon`

    - #### getFileChooserListViewIcon

          public static Icon getFileChooserListViewIcon()

      Returns the instance of `FileChooserListViewIcon`.
      Returns:
        the instance of `FileChooserListViewIcon`

    - #### getFileChooserNewFolderIcon

          public static Icon getFileChooserNewFolderIcon()

      Returns the instance of `FileChooserNewFolderIcon`.
      Returns:
        the instance of `FileChooserNewFolderIcon`

    - #### getFileChooserUpFolderIcon

          public static Icon getFileChooserUpFolderIcon()

      Returns the instance of `FileChooserUpFolderIcon`.
      Returns:
        the instance of `FileChooserUpFolderIcon`

    - #### getInternalFrameAltMaximizeIcon

          public static Icon getInternalFrameAltMaximizeIcon​(int size)

      Constructs a new instance of `InternalFrameAltMaximizeIcon`.
      Parameters:
        `size` - the size of the icon
      Returns:
        a new instance of `InternalFrameAltMaximizeIcon`

    - #### getInternalFrameCloseIcon

          public static Icon getInternalFrameCloseIcon​(int size)

      Constructs a new instance of `InternalFrameCloseIcon`.
      Parameters:
        `size` - the size of the icon
      Returns:
        a new instance of `InternalFrameCloseIcon`

    - #### getInternalFrameDefaultMenuIcon

          public static Icon getInternalFrameDefaultMenuIcon()

      Returns the instance of `InternalFrameDefaultMenuIcon`.
      Returns:
        the instance of `InternalFrameDefaultMenuIcon`

    - #### getInternalFrameMaximizeIcon

          public static Icon getInternalFrameMaximizeIcon​(int size)

      Constructs a new instance of `InternalFrameMaximizeIcon`.
      Parameters:
        `size` - the size of the icon
      Returns:
        a new instance of `InternalFrameMaximizeIcon`

    - #### getInternalFrameMinimizeIcon

          public static Icon getInternalFrameMinimizeIcon​(int size)

      Constructs a new instance of `InternalFrameMinimizeIcon`.
      Parameters:
        `size` - the size of the icon
      Returns:
        a new instance of `InternalFrameMinimizeIcon`

    - #### getRadioButtonIcon

          public static Icon getRadioButtonIcon()

      Returns the instance of `RadioButtonIcon`.
      Returns:
        the instance of `RadioButtonIcon`

    - #### getCheckBoxIcon

          public static Icon getCheckBoxIcon()

      Returns a checkbox icon.
      Returns:
        a checkbox icon
      Since:
        1.3

    - #### getTreeComputerIcon

          public static Icon getTreeComputerIcon()

      Returns the instance of `TreeComputerIcon`.
      Returns:
        the instance of `TreeComputerIcon`

    - #### getTreeFloppyDriveIcon

          public static Icon getTreeFloppyDriveIcon()

      Returns the instance of `TreeFloppyDriveIcon`.
      Returns:
        the instance of `TreeFloppyDriveIcon`

    - #### getTreeFolderIcon

          public static Icon getTreeFolderIcon()

      Constructs a new instance of `TreeFolderIcon`.
      Returns:
        a new instance of `TreeFolderIcon`

    - #### getTreeHardDriveIcon

          public static Icon getTreeHardDriveIcon()

      Returns the instance of `TreeHardDriveIcon`.
      Returns:
        the instance of `TreeHardDriveIcon`

    - #### getTreeLeafIcon

          public static Icon getTreeLeafIcon()

      Constructs a new instance of `TreeLeafIcon`.
      Returns:
        a new instance of `TreeLeafIcon`

    - #### getTreeControlIcon

          public static Icon getTreeControlIcon​(boolean isCollapsed)

      Constructs a new instance of `TreeControlIcon`.
      Parameters:
        `isCollapsed` - if `true` the icon is collapsed
      Returns:
        a new instance of `TreeControlIcon`

    - #### getMenuArrowIcon

          public static Icon getMenuArrowIcon()

      Returns an icon to be used by `JMenu`.
      Returns:
        an icon to be used by `JMenu`

    - #### 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()

      Returns an icon to be used by `JMenuItem`.
      Returns:
        an icon to be used by `JMenuItem`

    - #### getCheckBoxMenuItemIcon

          public static Icon getCheckBoxMenuItemIcon()

      Returns an icon to be used by `JCheckBoxMenuItem`.
      Returns:
        an icon to be used by `JCheckBoxMenuItem`

    - #### getRadioButtonMenuItemIcon

          public static Icon getRadioButtonMenuItemIcon()

      Returns an icon to be used by `JRadioButtonMenuItem`.
      Returns:
        an icon to be used by `JRadioButtonMenuItem`

    - #### getHorizontalSliderThumbIcon

          public static Icon getHorizontalSliderThumbIcon()

      Returns a thumb icon to be used by horizontal slider.
      Returns:
        a thumb icon to be used by horizontal slider

    - #### getVerticalSliderThumbIcon

          public static Icon getVerticalSliderThumbIcon()

      Returns a thumb icon to be used by vertical slider.
      Returns:
        a thumb icon to be used by vertical slider