- All Implemented Interfaces:
MouseListener,MouseMotionListener,MouseWheelListener,EventListener
public class ToolTipManager extends MouseAdapter implements MouseMotionListener
ToolTips in the system.
ToolTipManager contains numerous properties for configuring how long it
will take for the tooltips to become visible, and how long till they
hide. Consider a component that has a different tooltip based on where
the mouse is, such as JTree. When the mouse moves into the JTree and
over a region that has a valid tooltip, the tooltip will become
visible after initialDelay milliseconds. After
dismissDelay milliseconds the tooltip will be hidden. If
the mouse is over a region that has a valid tooltip, and the tooltip
is currently visible, when the mouse moves to a region that doesn't have
a valid tooltip the tooltip will be hidden. If the mouse then moves back
into a region that has a valid tooltip within reshowDelay
milliseconds, the tooltip will immediately be shown, otherwise the
tooltip will be shown again after initialDelay milliseconds.
- Since:
- 1.2
- See Also:
JComponent.createToolTip()
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classToolTipManager.insideTimerActionInside timer action.protected classToolTipManager.outsideTimerActionOutside timer action.protected classToolTipManager.stillInsideTimerActionStill inside timer action. -
Field Summary
Fields Modifier and Type Field Description protected booleanheavyWeightPopupEnabledHeavyweight popup enabled.protected booleanlightWeightPopupEnabledLightweight popup enabled. -
Method Summary
Modifier and Type Method Description intgetDismissDelay()Returns the dismissal delay value.intgetInitialDelay()Returns the initial delay value.intgetReshowDelay()Returns the reshow delay property.booleanisEnabled()Returns true if this object is enabled.booleanisLightWeightPopupEnabled()Returns true if lightweight (all-Java)Tooltipsare in use, or false if heavyweight (native peer)Tooltipsare being used.voidmouseDragged(MouseEvent event)Called when the mouse is pressed and dragged.voidmouseEntered(MouseEvent event)Called when the mouse enters the region of a component.voidmouseExited(MouseEvent event)Called when the mouse exits the region of a component.voidmouseMoved(MouseEvent event)Called when the mouse is moved.voidmousePressed(MouseEvent event)Called when the mouse is pressed.voidregisterComponent(JComponent component)Registers a component for tooltip management.voidsetDismissDelay(int milliseconds)Specifies the dismissal delay value.voidsetEnabled(boolean flag)Enables or disables the tooltip.voidsetInitialDelay(int milliseconds)Specifies the initial delay value.voidsetLightWeightPopupEnabled(boolean aFlag)When displaying theJToolTip, theToolTipManagerchooses to use a lightweightJPanelif it fits.voidsetReshowDelay(int milliseconds)Used to specify the amount of time before the user has to waitinitialDelaymilliseconds before a tooltip will be shown.static ToolTipManagersharedInstance()Returns a sharedToolTipManagerinstance.voidunregisterComponent(JComponent component)Removes a component from tooltip control.
-
Field Details
-
lightWeightPopupEnabled
protected boolean lightWeightPopupEnabledLightweight popup enabled. -
heavyWeightPopupEnabled
protected boolean heavyWeightPopupEnabledHeavyweight popup enabled.
-
-
Method Details
-
setEnabled
public void setEnabled(boolean flag)Enables or disables the tooltip.- Parameters:
flag- true to enable the tip, false otherwise
-
isEnabled
public boolean isEnabled()Returns true if this object is enabled.- Returns:
- true if this object is enabled, false otherwise
-
setLightWeightPopupEnabled
public void setLightWeightPopupEnabled(boolean aFlag)When displaying theJToolTip, theToolTipManagerchooses to use a lightweightJPanelif it fits. This method allows you to disable this feature. You have to do disable it if your application mixes light weight and heavy weights components.- Parameters:
aFlag- true if a lightweight panel is desired, false otherwise
-
isLightWeightPopupEnabled
public boolean isLightWeightPopupEnabled()Returns true if lightweight (all-Java)Tooltipsare in use, or false if heavyweight (native peer)Tooltipsare being used.- Returns:
- true if lightweight
ToolTipsare in use
-
setInitialDelay
public void setInitialDelay(int milliseconds)Specifies the initial delay value.- Parameters:
milliseconds- the number of milliseconds to delay (after the cursor has paused) before displaying the tooltip- See Also:
getInitialDelay()
-
getInitialDelay
public int getInitialDelay()Returns the initial delay value.- Returns:
- an integer representing the initial delay value, in milliseconds
- See Also:
setInitialDelay(int)
-
setDismissDelay
public void setDismissDelay(int milliseconds)Specifies the dismissal delay value.- Parameters:
milliseconds- the number of milliseconds to delay before taking away the tooltip- See Also:
getDismissDelay()
-
getDismissDelay
public int getDismissDelay()Returns the dismissal delay value.- Returns:
- an integer representing the dismissal delay value, in milliseconds
- See Also:
setDismissDelay(int)
-
setReshowDelay
public void setReshowDelay(int milliseconds)Used to specify the amount of time before the user has to waitinitialDelaymilliseconds before a tooltip will be shown. That is, if the tooltip is hidden, and the user moves into a region of the same Component that has a valid tooltip withinmillisecondsmilliseconds the tooltip will immediately be shown. Otherwise, if the user moves into a region with a valid tooltip aftermillisecondsmilliseconds, the user will have to wait an additionalinitialDelaymilliseconds before the tooltip is shown again.- Parameters:
milliseconds- time in milliseconds- See Also:
getReshowDelay()
-
getReshowDelay
public int getReshowDelay()Returns the reshow delay property.- Returns:
- reshown delay property
- See Also:
setReshowDelay(int)
-
sharedInstance
Returns a sharedToolTipManagerinstance.- Returns:
- a shared
ToolTipManagerobject
-
registerComponent
Registers a component for tooltip management.This will register key bindings to show and hide the tooltip text only if
componenthas focus bindings. This is done so that components that are not normally focus traversable, such asJLabel, are not made focus traversable as a result of invoking this method.- Parameters:
component- aJComponentobject to add- See Also:
Component.isFocusTraversable()
-
unregisterComponent
Removes a component from tooltip control.- Parameters:
component- aJComponentobject to remove
-
mouseEntered
Called when the mouse enters the region of a component. This determines whether the tool tip should be shown.- Specified by:
mouseEnteredin interfaceMouseListener- Parameters:
event- the event in question
-
mouseExited
Called when the mouse exits the region of a component. Any tool tip showing should be hidden.- Specified by:
mouseExitedin interfaceMouseListener- Parameters:
event- the event in question
-
mousePressed
Called when the mouse is pressed. Any tool tip showing should be hidden.- Specified by:
mousePressedin interfaceMouseListener- Parameters:
event- the event in question
-
mouseDragged
Called when the mouse is pressed and dragged. Does nothing.- Specified by:
mouseDraggedin interfaceMouseMotionListener- Overrides:
mouseDraggedin classMouseAdapter- Parameters:
event- the event in question
-
mouseMoved
Called when the mouse is moved. Determines whether the tool tip should be displayed.- Specified by:
mouseMovedin interfaceMouseMotionListener- Overrides:
mouseMovedin classMouseAdapter- Parameters:
event- the event in question
-