# Package javax.swing.plaf.metal

Provides user interface objects built according to the Java look and feel (once codenamed Metal), which is the default look and feel.

See: Description

- Class Summary
  Class | Description
  --- | ---
  DefaultMetalTheme | A concrete implementation of `MetalTheme` providing the original look of the Java Look and Feel, code-named "Steel".
  MetalBorders | Factory object that can vend Borders appropriate for the metal L & F.
  MetalBorders.ButtonBorder |
  MetalBorders.Flush3DBorder |
  MetalBorders.InternalFrameBorder |
  MetalBorders.MenuBarBorder |
  MetalBorders.MenuItemBorder |
  MetalBorders.OptionDialogBorder |
  MetalBorders.PaletteBorder | Border for a Palette.
  MetalBorders.PopupMenuBorder |
  MetalBorders.RolloverButtonBorder |
  MetalBorders.ScrollPaneBorder |
  MetalBorders.TableHeaderBorder | Border for a Table Header
  MetalBorders.TextFieldBorder |
  MetalBorders.ToggleButtonBorder |
  MetalBorders.ToolBarBorder |
  MetalButtonUI | MetalButtonUI implementation
  MetalCheckBoxIcon | CheckboxIcon implementation for OrganicCheckBoxUI
  MetalCheckBoxUI | CheckboxUI implementation for MetalCheckboxUI
  MetalComboBoxButton | JButton subclass to help out MetalComboBoxUI
  MetalComboBoxEditor | The default editor for Metal editable combo boxes
  MetalComboBoxEditor.UIResource | A subclass of BasicComboBoxEditor that implements UIResource.
  MetalComboBoxIcon | This utility class draws the horizontal bars which indicate a MetalComboBox
  MetalComboBoxUI | Metal UI for JComboBox
  MetalDesktopIconUI | Metal desktop icon.
  MetalFileChooserUI | Metal L&F implementation of a FileChooser.
  MetalIconFactory | Factory object that vends `Icon`s for the Java™ look and feel (Metal).
  MetalIconFactory.FileIcon16 | Warning: Serialized objects of this class will not be compatible with future Swing releases.
  MetalIconFactory.FolderIcon16 | Warning: Serialized objects of this class will not be compatible with future Swing releases.
  MetalIconFactory.PaletteCloseIcon | Defines an icon for Palette close
  MetalIconFactory.TreeControlIcon | Warning: Serialized objects of this class will not be compatible with future Swing releases.
  MetalIconFactory.TreeFolderIcon | Warning: Serialized objects of this class will not be compatible with future Swing releases.
  MetalIconFactory.TreeLeafIcon |
  MetalInternalFrameTitlePane | Class that manages a JLF title bar
  MetalInternalFrameUI | Metal implementation of JInternalFrame.
  MetalLabelUI | A Windows L&F implementation of LabelUI.
  MetalLookAndFeel | The Java Look and Feel, otherwise known as Metal.
  MetalMenuBarUI | Metal implementation of `MenuBarUI`.
  MetalPopupMenuSeparatorUI | A Metal L&F implementation of PopupMenuSeparatorUI.
  MetalProgressBarUI | The Metal implementation of ProgressBarUI.
  MetalRadioButtonUI | RadioButtonUI implementation for MetalRadioButtonUI
  MetalRootPaneUI | Provides the metal look and feel implementation of `RootPaneUI`.
  MetalScrollBarUI | Implementation of ScrollBarUI for the Metal Look and Feel
  MetalScrollButton | JButton object for Metal scrollbar arrows.
  MetalScrollPaneUI | A Metal L&F implementation of ScrollPaneUI.
  MetalSeparatorUI | A Metal L&F implementation of SeparatorUI.
  MetalSliderUI | A Java L&F implementation of SliderUI.
  MetalSplitPaneUI | Metal split pane.
  MetalTabbedPaneUI | The Metal subclass of BasicTabbedPaneUI.
  MetalTextFieldUI | Basis of a look and feel for a JTextField.
  MetalTheme | `MetalTheme` provides the color palette and fonts used by the Java Look and Feel.
  MetalToggleButtonUI | MetalToggleButton implementation
  MetalToolBarUI | A Metal Look and Feel implementation of ToolBarUI.
  MetalToolTipUI | A Metal L&F extension of BasicToolTipUI.
  MetalTreeUI | The metal look and feel implementation of `TreeUI`.
  OceanTheme | The default theme for the `MetalLookAndFeel`.

## Package javax.swing.plaf.metal Description

Provides user interface objects built according to the Java look and feel (once codenamed Metal), which is the default look and feel.

These classes are designed to be used while the corresponding `LookAndFeel` class has been installed (`UIManager.setLookAndFeel(new XXXLookAndFeel())`). Using them while a different `LookAndFeel` is installed may produce unexpected results, including exceptions. Additionally, changing the `LookAndFeel` maintained by the `UIManager` without updating the corresponding `ComponentUI` of any `JComponent`s may also produce unexpected results, such as the wrong colors showing up, and is generally not encouraged.

Note: Most of the Swing API is not thread safe. For details, see Threads and Swing, a section in The Java Tutorial.

Since:
  1.2

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.