javax.swing.plaf.metal

## Class MetalSeparatorUI

- java.lang.Object
- - javax.swing.plaf.ComponentUI
  - - javax.swing.plaf.SeparatorUI
    - - javax.swing.plaf.basic.BasicSeparatorUI
      - - javax.swing.plaf.metal.MetalSeparatorUI

- Direct Known Subclasses:
    MetalPopupMenuSeparatorUI

      public class MetalSeparatorUI
      extends BasicSeparatorUI

  A Metal L&F implementation of SeparatorUI. This implementation is a "combined" view/controller.

  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`.

- - ### Field Summary

    - ### Fields inherited from class javax.swing.plaf.basic.BasicSeparatorUI

      `highlight, shadow`

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static ComponentUI` | `createUI(JComponent c)` |
    `Dimension` | `getPreferredSize(JComponent c)` | Returns the specified component's preferred size appropriate for the look and feel.
    `protected void` | `installDefaults(JSeparator s)` |
    `void` | `paint(Graphics g, JComponent c)` | Paints the specified component appropriately for the look and feel.

    - ### Methods inherited from class javax.swing.plaf.basic.BasicSeparatorUI

      `getMaximumSize, getMinimumSize, installListeners, installUI, uninstallDefaults, uninstallListeners, uninstallUI`

    - ### Methods inherited from class javax.swing.plaf.ComponentUI

      `contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, update`

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

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

- - ### Constructor Detail

    - #### MetalSeparatorUI

          public MetalSeparatorUI()

  - ### Method Detail

    - #### createUI

          public static ComponentUI createUI(JComponent c)

    - #### installDefaults

          protected void installDefaults(JSeparator s)

      Overrides:
        `installDefaults` in class `BasicSeparatorUI`

    - #### paint

          public void paint(Graphics g,
                            JComponent c)

      Description copied from class: `ComponentUI`
      Paints the specified component appropriately for the look and feel. This method is invoked from the `ComponentUI.update` method when the specified component is being painted. Subclasses should override this method and use the specified `Graphics` object to render the content of the component.
      Overrides:
        `paint` in class `BasicSeparatorUI`
      Parameters:
        `g` - the `Graphics` context in which to paint
        `c` - the component being painted; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
      See Also:
        `ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)`

    - #### getPreferredSize

          public Dimension getPreferredSize(JComponent c)

      Description copied from class: `ComponentUI`
      Returns the specified component's preferred size appropriate for the look and feel. If `null` is returned, the preferred size will be calculated by the component's layout manager instead (this is the preferred approach for any component with a specific layout manager installed). The default implementation of this method returns `null`.
      Overrides:
        `getPreferredSize` in class `BasicSeparatorUI`
      Parameters:
        `c` - the component whose preferred size is being queried; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
      See Also:
        `JComponent.getPreferredSize()`, `LayoutManager.preferredLayoutSize(java.awt.Container)`

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.