|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.swing.plaf.ComponentUI javax.swing.plaf.PopupMenuUI javax.swing.plaf.basic.BasicPopupMenuUI
A Windows L&F implementation of PopupMenuUI. This implementation is a "combined" view/controller.
Nested Class Summary | |
private class |
BasicPopupMenuUI.BasicPopupMenuListener
This Listener fires the Action that provides the correct auditory feedback. |
private static class |
BasicPopupMenuUI.CancelAction
|
private static class |
BasicPopupMenuUI.MenuKeyboardHelper
This helper is added to MenuSelectionManager as a ChangeListener to listen to menu selection changes. |
private static class |
BasicPopupMenuUI.MouseGrabber
|
private static class |
BasicPopupMenuUI.ReturnAction
|
private static class |
BasicPopupMenuUI.SelectNextItemAction
|
private static class |
BasicPopupMenuUI.SelectParentChildAction
|
Field Summary | |
private PopupMenuListener |
basicPopupMenuListener
|
(package private) static BasicPopupMenuUI.MenuKeyboardHelper |
menuKeyboardHelper
|
(package private) static boolean |
menuKeyboardHelperInstalled
|
private static BasicPopupMenuUI.MouseGrabber |
mouseGrabber
|
protected JPopupMenu |
popupMenu
|
Constructor Summary | |
BasicPopupMenuUI()
|
Method Summary | |
private static boolean |
checkInvokerEqual(MenuElement present,
MenuElement last)
|
(package private) static ActionMap |
createActionMap()
|
private PopupMenuListener |
createPopupMenuListener()
|
static ComponentUI |
createUI(JComponent x)
Returns an instance of the UI delegate for the specified component. |
private static MenuElement |
findEnabledChild(MenuElement[] e,
int fromIndex,
boolean forward)
|
private static MenuElement |
findEnabledChild(MenuElement[] e,
MenuElement elem,
boolean forward)
|
(package private) static ActionMap |
getActionMap()
|
private static MenuElement |
getFirstPopup()
|
(package private) static InputMap |
getInputMap(JPopupMenu popup,
JComponent c)
|
private static JPopupMenu |
getLastPopup()
|
Dimension |
getMaximumSize(JComponent c)
Returns the specified component's maximum size appropriate for the look and feel. |
Dimension |
getMinimumSize(JComponent c)
Returns the specified component's minimum size appropriate for the look and feel. |
private static List |
getPopups()
|
Dimension |
getPreferredSize(JComponent c)
Returns the specified component's preferred size appropriate for the look and feel. |
private static Window |
getWindow(Component c)
|
void |
installDefaults()
|
protected void |
installKeyboardActions()
|
protected void |
installListeners()
|
void |
installUI(JComponent c)
Configures the specified component appropriate for the look and feel. |
boolean |
isPopupTrigger(MouseEvent e)
|
private static MenuElement |
nextEnabledChild(MenuElement[] e,
int fromIndex,
int toIndex)
|
private static MenuElement |
previousEnabledChild(MenuElement[] e,
int fromIndex,
int toIndex)
|
protected void |
uninstallDefaults()
|
protected void |
uninstallKeyboardActions()
|
protected void |
uninstallListeners()
|
void |
uninstallUI(JComponent c)
Reverses configuration which was done on the specified component during installUI . |
Methods inherited from class javax.swing.plaf.PopupMenuUI |
getPopup |
Methods inherited from class javax.swing.plaf.ComponentUI |
contains, getAccessibleChild, getAccessibleChildrenCount, paint, update |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected JPopupMenu popupMenu
static boolean menuKeyboardHelperInstalled
static BasicPopupMenuUI.MenuKeyboardHelper menuKeyboardHelper
private static transient BasicPopupMenuUI.MouseGrabber mouseGrabber
private transient PopupMenuListener basicPopupMenuListener
Constructor Detail |
public BasicPopupMenuUI()
Method Detail |
private static boolean checkInvokerEqual(MenuElement present, MenuElement last)
public static ComponentUI createUI(JComponent x)
ComponentUI
createUI
method that returns an instance of that UI delegate subclass.
If the UI delegate subclass is stateless, it may return an instance
that is shared by multiple components. If the UI delegate is
stateful, then it should return a new instance per component.
The default implementation of this method throws an error, as it
should never be invoked.
public void installUI(JComponent c)
ComponentUI
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 ComponentUI
c
- the component where this UI delegate is being installedComponentUI.uninstallUI(javax.swing.JComponent)
,
JComponent.setUI(javax.swing.plaf.ComponentUI)
,
JComponent.updateUI()
public void installDefaults()
protected void installListeners()
protected void installKeyboardActions()
static InputMap getInputMap(JPopupMenu popup, JComponent c)
static ActionMap getActionMap()
static ActionMap createActionMap()
public void uninstallUI(JComponent c)
ComponentUI
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 ComponentUI
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()
protected void uninstallListeners()
protected void uninstallKeyboardActions()
public Dimension getMinimumSize(JComponent c)
ComponentUI
null
is returned, the minimum
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 invokes getPreferredSize
and returns that value.
getMinimumSize
in class ComponentUI
c
- the component whose minimum size is being queried;
this argument is often ignored,
but might be used if the UI object is stateless
and shared by multiple components
Dimension
object or null
JComponent.getMinimumSize()
,
LayoutManager.minimumLayoutSize(java.awt.Container)
,
ComponentUI.getPreferredSize(javax.swing.JComponent)
public Dimension getPreferredSize(JComponent c)
ComponentUI
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
.
getPreferredSize
in class ComponentUI
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 componentsJComponent.getPreferredSize()
,
LayoutManager.preferredLayoutSize(java.awt.Container)
public Dimension getMaximumSize(JComponent c)
ComponentUI
null
is returned, the maximum
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 invokes getPreferredSize
and returns that value.
getMaximumSize
in class ComponentUI
c
- the component whose maximum size is being queried;
this argument is often ignored,
but might be used if the UI object is stateless
and shared by multiple components
Dimension
object or null
JComponent.getMaximumSize()
,
LayoutManager2.maximumLayoutSize(java.awt.Container)
private static Window getWindow(Component c)
private static MenuElement getFirstPopup()
private static JPopupMenu getLastPopup()
private static List getPopups()
public boolean isPopupTrigger(MouseEvent e)
isPopupTrigger
in class PopupMenuUI
private PopupMenuListener createPopupMenuListener()
private static MenuElement nextEnabledChild(MenuElement[] e, int fromIndex, int toIndex)
private static MenuElement previousEnabledChild(MenuElement[] e, int fromIndex, int toIndex)
private static MenuElement findEnabledChild(MenuElement[] e, int fromIndex, boolean forward)
private static MenuElement findEnabledChild(MenuElement[] e, MenuElement elem, boolean forward)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |