public class SynthComboBoxUI extends BasicComboBoxUI implements PropertyChangeListener, SynthUI
JComboBox
.BasicComboBoxUI.ComboBoxLayoutManager, BasicComboBoxUI.FocusHandler, BasicComboBoxUI.ItemHandler, BasicComboBoxUI.KeyHandler, BasicComboBoxUI.ListDataHandler, BasicComboBoxUI.PropertyChangeHandler
arrowButton, cachedMinimumSize, comboBox, currentValuePane, editor, focusListener, hasFocus, isMinimumSizeDirty, itemListener, keyListener, listBox, listDataListener, padding, popup, popupKeyListener, popupMouseListener, popupMouseMotionListener, propertyChangeListener, squareButton
DEFAULT, DISABLED, ENABLED, FOCUSED, MOUSE_OVER, PRESSED, SELECTED
Constructor and Description |
---|
SynthComboBoxUI() |
Modifier and Type | Method and Description |
---|---|
protected JButton |
createArrowButton()
Creates a button which will be used as the control to show or hide
the popup portion of the combo box.
|
protected ComboBoxEditor |
createEditor()
Creates the default editor that will be used in editable combo boxes.
|
protected ComboPopup |
createPopup()
Creates the popup portion of the combo box.
|
protected ListCellRenderer |
createRenderer()
Creates the default renderer that will be used in a non-editiable combo
box.
|
static ComponentUI |
createUI(JComponent c)
Creates a new UI object for the given component.
|
SynthContext |
getContext(JComponent c)
Returns the Context for the specified component.
|
protected Dimension |
getDefaultSize()
Returns the default size of an empty display area of the combo box using
the current renderer and font.
|
protected void |
installDefaults()
Installs the default colors, default font, default renderer, and default
editor into the JComboBox.
|
protected void |
installListeners()
Creates and installs listeners for the combo box and its model.
|
void |
installUI(JComponent c)
Configures the specified component appropriately for the look and feel.
|
void |
paint(Graphics g,
JComponent c)
Paints the specified component according to the Look and Feel.
|
protected void |
paint(SynthContext context,
Graphics g)
Paints the specified component.
|
void |
paintBorder(SynthContext context,
Graphics g,
int x,
int y,
int w,
int h)
Paints the border.
|
void |
paintCurrentValue(Graphics g,
Rectangle bounds,
boolean hasFocus)
Paints the currently selected item.
|
void |
propertyChange(PropertyChangeEvent e)
This method gets called when a bound property is changed.
|
protected void |
uninstallDefaults()
Uninstalls the default colors, default font, default renderer,
and default editor from the combo box.
|
protected void |
uninstallListeners()
Removes the installed listeners from the combo box and its model.
|
void |
uninstallUI(JComponent c)
Reverses configuration which was done on the specified component during
installUI . |
void |
update(Graphics g,
JComponent c)
Notifies this UI delegate to repaint the specified component.
|
addEditor, configureArrowButton, configureEditor, createFocusListener, createItemListener, createKeyListener, createLayoutManager, createListDataListener, createPropertyChangeListener, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getDisplaySize, getInsets, getMaximumSize, getMinimumSize, getPreferredSize, getSizeForComponent, installComponents, installKeyboardActions, isFocusTraversable, isNavigationKey, isPopupVisible, paintCurrentValueBackground, rectangleForCurrentValue, removeEditor, selectNextPossibleValue, selectPreviousPossibleValue, setPopupVisible, toggleOpenClose, unconfigureArrowButton, unconfigureEditor, uninstallComponents, uninstallKeyboardActions
contains
public static ComponentUI createUI(JComponent c)
c
- component to create UI object forpublic void installUI(JComponent c)
ComponentUI
instance is being installed
as the UI delegate on the specified component. This method should
completely configure the component for the look and feel,
including the following:
LayoutManager
on the component if necessary.
PropertyChangeListener
on the component in order
to detect and respond to component property changes appropriately.
installUI
in class BasicComboBoxUI
c
- the component where this UI delegate is being installedComponentUI.uninstallUI(javax.swing.JComponent)
,
JComponent.setUI(javax.swing.plaf.ComponentUI)
,
JComponent.updateUI()
protected void installDefaults()
BasicComboBoxUI
installDefaults
in class BasicComboBoxUI
protected void installListeners()
installListeners
in class BasicComboBoxUI
public void uninstallUI(JComponent c)
installUI
. This method is invoked when this
UIComponent
instance is being removed as the UI delegate
for the specified component. This method should undo the
configuration performed in installUI
, being careful to
leave the JComponent
instance in a clean state (no
extraneous listeners, look-and-feel-specific property objects, etc.).
This should include the following:
uninstallUI
in class BasicComboBoxUI
c
- the component from which this UI delegate is being removed;
this argument is often ignored,
but might be used if the UI object is stateless
and shared by multiple componentsComponentUI.installUI(javax.swing.JComponent)
,
JComponent.updateUI()
protected void uninstallDefaults()
uninstallDefaults
in class BasicComboBoxUI
protected void uninstallListeners()
installListeners
uninstallListeners
in class BasicComboBoxUI
public SynthContext getContext(JComponent c)
getContext
in interface SynthUI
c
- Component requesting SynthContext.protected ComboPopup createPopup()
createPopup
in class BasicComboBoxUI
ComboPopup
ComboPopup
protected ListCellRenderer createRenderer()
setRenderer
.createRenderer
in class BasicComboBoxUI
ListCellRender
used for the combo boxJComboBox.setRenderer(javax.swing.ListCellRenderer<? super E>)
protected ComboBoxEditor createEditor()
setEditor
.createEditor
in class BasicComboBoxUI
ComboBoxEditor
used for the combo boxJComboBox.setEditor(javax.swing.ComboBoxEditor)
public void propertyChange(PropertyChangeEvent e)
propertyChange
in interface PropertyChangeListener
e
- A PropertyChangeEvent object describing the event source
and the property that has changed.protected JButton createArrowButton()
createArrowButton
in class BasicComboBoxUI
public void update(Graphics g, JComponent c)
paint(SynthContext,Graphics)
method.
In general, this method does not need to be overridden by subclasses.
All Look and Feel rendering code should reside in the paint
method.
update
in class ComponentUI
g
- the Graphics
object used for paintingc
- the component being paintedpaint(SynthContext,Graphics)
public void paint(Graphics g, JComponent c)
This method is not used by Synth Look and Feel.
Painting is handled by the paint(SynthContext,Graphics)
method.
paint
in class BasicComboBoxUI
g
- the Graphics
object used for paintingc
- the component being paintedpaint(SynthContext,Graphics)
protected void paint(SynthContext context, Graphics g)
context
- context for the component being paintedg
- the Graphics
object used for paintingupdate(Graphics,JComponent)
public void paintBorder(SynthContext context, Graphics g, int x, int y, int w, int h)
paintBorder
in interface SynthUI
context
- a component contextg
- Graphics
to paint onx
- the X coordinatey
- the Y coordinatew
- width of the borderh
- height of the borderpublic void paintCurrentValue(Graphics g, Rectangle bounds, boolean hasFocus)
paintCurrentValue
in class BasicComboBoxUI
protected Dimension getDefaultSize()
getDefaultSize
in class BasicComboBoxUI
BasicComboBoxUI.getDisplaySize()
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, 2023, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.