# 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 final boolean`
`DARK`
`DARK` is used for the property `Tree.expandedIcon`.
`static final boolean`
`LIGHT`
`LIGHT` is used for the property `Tree.collapsedIcon`.

## Constructor Summary

Constructors
Constructor
Description
`MetalIconFactory()`
Constructs a `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 Object

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

## Field Details

### 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 Details

### MetalIconFactory

public MetalIconFactory()
Constructs a `MetalIconFactory`.

## Method Details

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