Module java.desktop
Package javax.swing.plaf.metal

## Class MetalComboBoxUI

- java.lang.Object
- - javax.swing.plaf.ComponentUI
  - - javax.swing.plaf.ComboBoxUI
    - - javax.swing.plaf.basic.BasicComboBoxUI
      - - javax.swing.plaf.metal.MetalComboBoxUI

-     public class MetalComboBoxUI
      extends BasicComboBoxUI

  Metal UI for JComboBox

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

  See Also:
    `MetalComboBoxEditor`, `MetalComboBoxButton`

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `MetalComboBoxUI.MetalComboBoxLayoutManager` | This class should be treated as a "protected" inner class.
    `class` | `MetalComboBoxUI.MetalComboPopup` | Deprecated. As of Java 2 platform v1.4.
    `class` | `MetalComboBoxUI.MetalPropertyChangeListener` | This class should be treated as a "protected" inner class.

    - ### Nested classes/interfaces declared in class javax.swing.plaf.basic.BasicComboBoxUI

      `BasicComboBoxUI.ComboBoxLayoutManager, BasicComboBoxUI.FocusHandler, BasicComboBoxUI.ItemHandler, BasicComboBoxUI.KeyHandler, BasicComboBoxUI.ListDataHandler, BasicComboBoxUI.PropertyChangeHandler`

  - ### Field Summary

    - ### Fields declared in class javax.swing.plaf.basic.BasicComboBoxUI

      `arrowButton, cachedMinimumSize, comboBox, currentValuePane, editor, focusListener, hasFocus, isMinimumSizeDirty, itemListener, keyListener, listBox, listDataListener, padding, popup, popupKeyListener, popupMouseListener, popupMouseMotionListener, propertyChangeListener, squareButton`

  - ### Constructor Summary

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

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `static ComponentUI` | `createUI​(JComponent c)` | Constructs an instance of `MetalComboBoxUI`.
    `protected void` | `editablePropertyChanged​(PropertyChangeEvent e)` | Deprecated. As of Java 2 platform v1.4.
    `int` | `getBaseline​(JComponent c, int width, int height)` | Returns the baseline.
    `void` | `layoutComboBox​(Container parent, MetalComboBoxUI.MetalComboBoxLayoutManager manager)` | Lays out the `JComboBox` in the `parent` container.
    `void` | `paintCurrentValue​(Graphics g, Rectangle bounds, boolean hasFocus)` | If necessary paints the currently selected item.
    `void` | `paintCurrentValueBackground​(Graphics g, Rectangle bounds, boolean hasFocus)` | If necessary paints the background of the currently selected item.
    `protected void` | `removeListeners()` | Deprecated. As of Java 2 platform v1.4.

    - ### Methods declared in class javax.swing.plaf.basic.BasicComboBoxUI

      `addEditor, configureArrowButton, configureEditor, createArrowButton, createEditor, createFocusListener, createItemListener, createKeyListener, createLayoutManager, createListDataListener, createPopup, createPropertyChangeListener, createRenderer, getBaselineResizeBehavior, getDefaultSize, getDisplaySize, getInsets, getMinimumSize, getSizeForComponent, installComponents, installDefaults, installKeyboardActions, installListeners, isFocusTraversable, isNavigationKey, isPopupVisible, rectangleForCurrentValue, removeEditor, selectNextPossibleValue, selectPreviousPossibleValue, setPopupVisible, toggleOpenClose, unconfigureArrowButton, unconfigureEditor, uninstallComponents, uninstallDefaults, uninstallKeyboardActions, uninstallListeners`

    - ### Methods declared in class javax.swing.plaf.ComponentUI

      `contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getPreferredSize, installUI, paint, uninstallUI, update`

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

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

- - ### Constructor Detail

    - #### MetalComboBoxUI

          public MetalComboBoxUI()

  - ### Method Detail

    - #### createUI

          public static ComponentUI createUI​(JComponent c)

      Constructs an instance of `MetalComboBoxUI`.
      Parameters:
        `c` - a component
      Returns:
        an instance of `MetalComboBoxUI`

    - #### paintCurrentValue

          public void paintCurrentValue​(Graphics g,
                                        Rectangle bounds,
                                        boolean hasFocus)

      If necessary paints the currently selected item.
      Overrides:
        `paintCurrentValue` in class `BasicComboBoxUI`
      Parameters:
        `g` - Graphics to paint to
        `bounds` - Region to paint current value to
        `hasFocus` - whether or not the JComboBox has focus
      Throws:
        `NullPointerException` - if any of the arguments are null.
      Since:
        1.5

    - #### paintCurrentValueBackground

          public void paintCurrentValueBackground​(Graphics g,
                                                  Rectangle bounds,
                                                  boolean hasFocus)

      If necessary paints the background of the currently selected item.
      Overrides:
        `paintCurrentValueBackground` in class `BasicComboBoxUI`
      Parameters:
        `g` - Graphics to paint to
        `bounds` - Region to paint background to
        `hasFocus` - whether or not the JComboBox has focus
      Throws:
        `NullPointerException` - if any of the arguments are null.
      Since:
        1.5

    - #### getBaseline

          public int getBaseline​(JComponent c,
                                 int width,
                                 int height)

      Returns the baseline.
      Overrides:
        `getBaseline` in class `BasicComboBoxUI`
      Parameters:
        `c` - `JComponent` baseline is being requested for
        `width` - the width to get the baseline for
        `height` - the height to get the baseline for
      Returns:
        baseline or a value < 0 indicating there is no reasonable baseline
      Throws:
        `NullPointerException` - if `c` is `null`
        `IllegalArgumentException` - if width or height is < 0
      Since:
        1.6
      See Also:
        `JComponent.getBaseline(int, int)`

    - #### editablePropertyChanged

          @Deprecated
          protected void editablePropertyChanged​(PropertyChangeEvent e)

      Deprecated.
      As of Java 2 platform v1.4.
      As of Java 2 platform v1.4 this method is no longer used. Do not call or override. All the functionality of this method is in the MetalPropertyChangeListener.
      Parameters:
        `e` - an instance of `PropertyChangeEvent`

    - #### layoutComboBox

          public void layoutComboBox​(Container parent,
                                     MetalComboBoxUI.MetalComboBoxLayoutManager manager)

      Lays out the `JComboBox` in the `parent` container.
      Parameters:
        `parent` - a container
        `manager` - an instance of `MetalComboBoxLayoutManager`

    - #### removeListeners

          @Deprecated
          protected void removeListeners()

      Deprecated.
      As of Java 2 platform v1.4.
      As of Java 2 platform v1.4 this method is no longer used.