# Package javax.swing.plaf

Provides one interface and many abstract classes that Swing uses to provide its pluggable look-and-feel capabilities.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  UIResource | This interface is used to mark objects created by ComponentUI delegates.

- Class Summary
  Class | Description
  --- | ---
  ActionMapUIResource | A subclass of javax.swing.ActionMap that implements UIResource.
  BorderUIResource |
  BorderUIResource.BevelBorderUIResource |
  BorderUIResource.CompoundBorderUIResource |
  BorderUIResource.EmptyBorderUIResource |
  BorderUIResource.EtchedBorderUIResource |
  BorderUIResource.LineBorderUIResource |
  BorderUIResource.MatteBorderUIResource |
  BorderUIResource.TitledBorderUIResource |
  ButtonUI | Pluggable look and feel interface for JButton.
  ColorChooserUI | Pluggable look and feel interface for JColorChooser.
  ColorUIResource |
  ComboBoxUI | Pluggable look and feel interface for JComboBox.
  ComponentInputMapUIResource | A subclass of javax.swing.ComponentInputMap that implements UIResource.
  ComponentUI | The base class for all UI delegate objects in the Swing pluggable look and feel architecture.
  DesktopIconUI | Pluggable look and feel interface for JDesktopIcon.
  DesktopPaneUI | Pluggable look and feel interface for JDesktopPane.
  DimensionUIResource |
  FileChooserUI | Pluggable look and feel interface for `JFileChooser`.
  FontUIResource | A subclass of java.awt.Font that implements UIResource.
  IconUIResource | An Icon wrapper class which implements UIResource.
  InputMapUIResource | A subclass of javax.swing.InputMap that implements UIResource.
  InsetsUIResource |
  InternalFrameUI | Pluggable look and feel interface for JInternalFrame.
  LabelUI | Pluggable look and feel interface for JLabel.
  LayerUI<V extends Component> | The base class for all `JLayer`'s UI delegates.
  ListUI | The `JList` pluggable look and feel delegate.
  MenuBarUI | Pluggable look and feel interface for JMenuBar.
  MenuItemUI | Pluggable look and feel interface for JMenuItem.
  OptionPaneUI | Pluggable look and feel interface for JOptionPane.
  PanelUI | Pluggable look and feel interface for Panel.
  PopupMenuUI | Pluggable look and feel interface for JPopupMenu.
  ProgressBarUI | Pluggable look and feel interface for JProgressBar.
  RootPaneUI | Pluggable look and feel interface for JRootPane.
  ScrollBarUI | Pluggable look and feel interface for JScrollBar.
  ScrollPaneUI | Pluggable look and feel interface for JScrollPane.
  SeparatorUI | Pluggable look and feel interface for JSeparator.
  SliderUI | Pluggable look and feel interface for JSlider.
  SpinnerUI | Pluggable look and feel interface for JSpinner
  SplitPaneUI | Pluggable look and feel interface for JSplitPane.
  TabbedPaneUI | Pluggable look and feel interface for JTabbedPane.
  TableHeaderUI | Pluggable look and feel interface for JTableHeader.
  TableUI | Pluggable look and feel interface for JTable.
  TextUI | Text editor user interface
  ToolBarUI | Pluggable look and feel interface for JToolBar.
  ToolTipUI | Pluggable look and feel interface for JToolTip.
  TreeUI | Pluggable look and feel interface for JTree.
  ViewportUI | Pluggable look and feel interface for JViewport.

## Package javax.swing.plaf Description

Provides one interface and many abstract classes that Swing uses to provide its pluggable look-and-feel capabilities. Its classes are subclassed and implemented by look and feel UIs such as Basic and the Java look and feel (Metal). This package is only used by developers who cannot create a new look and feel by subclassing existing look-and-feel components (such as those provided by the `javax.swing.plaf.basic` and `javax.swing.plaf.metal` packages).

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.