|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.awt.event.MouseAdapter javax.swing.ToolTipManager
Manages all the 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
visibile 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.
JComponent.createToolTip()
Nested Class Summary | |
protected class |
ToolTipManager.insideTimerAction
|
private class |
ToolTipManager.MoveBeforeEnterListener
|
protected class |
ToolTipManager.outsideTimerAction
|
protected class |
ToolTipManager.stillInsideTimerAction
|
Field Summary | |
(package private) boolean |
enabled
|
(package private) Timer |
enterTimer
|
(package private) Timer |
exitTimer
|
private FocusListener |
focusChangeListener
|
protected boolean |
heavyWeightPopupEnabled
|
private KeyStroke |
hideTip
|
private Action |
hideTipAction
|
(package private) JComponent |
insideComponent
|
(package private) Timer |
insideTimer
|
protected boolean |
lightWeightPopupEnabled
|
(package private) MouseEvent |
mouseEvent
|
private MouseMotionListener |
moveBeforeEnterListener
|
private Rectangle |
popupFrameRect
|
private Rectangle |
popupRect
|
private KeyStroke |
postTip
|
private Action |
postTipAction
|
(package private) Point |
preferredLocation
|
(package private) static ToolTipManager |
sharedInstance
|
(package private) boolean |
showImmediately
|
(package private) JToolTip |
tip
|
private boolean |
tipShowing
|
(package private) Popup |
tipWindow
|
(package private) String |
toolTipText
|
private Window |
window
The Window tip is being displayed in. |
Constructor Summary | |
(package private) |
ToolTipManager()
|
Method Summary | |
private void |
checkForTipChange(MouseEvent event)
Checks to see if the tooltip needs to be changed in response to the MouseMoved event event . |
private FocusListener |
createFocusChangeListener()
|
(package private) static Frame |
frameForComponent(Component component)
|
int |
getDismissDelay()
Returns the dismissal delay value. |
private int |
getHeightAdjust(Rectangle a,
Rectangle b)
|
int |
getInitialDelay()
Returns the initial delay value. |
private int |
getPopupFitHeight(Rectangle popupRectInScreen,
Component invoker)
|
private int |
getPopupFitWidth(Rectangle popupRectInScreen,
Component invoker)
|
int |
getReshowDelay()
Returns the reshow delay property. |
private int |
getWidthAdjust(Rectangle a,
Rectangle b)
|
(package private) void |
hideTipWindow()
|
private void |
initiateToolTip(MouseEvent event)
|
boolean |
isEnabled()
Returns true if this object is enabled. |
boolean |
isLightWeightPopupEnabled()
Returns true if lightweight (all-Java) Tooltips
are in use, or false if heavyweight (native peer)
Tooltips are being used. |
void |
mouseDragged(MouseEvent event)
Called when the mouse is pressed and dragged. |
void |
mouseEntered(MouseEvent event)
Called when the mouse enters the region of a component. |
void |
mouseExited(MouseEvent event)
Called when the mouse exits the region of a component. |
void |
mouseMoved(MouseEvent event)
Called when the mouse is moved. |
void |
mousePressed(MouseEvent event)
Called when the mouse is pressed. |
void |
registerComponent(JComponent component)
Registers a component for tooltip management. |
void |
setDismissDelay(int milliseconds)
Specifies the dismissal delay value. |
void |
setEnabled(boolean flag)
Enables or disables the tooltip. |
void |
setInitialDelay(int milliseconds)
Specifies the initial delay value. |
void |
setLightWeightPopupEnabled(boolean aFlag)
When displaying the JToolTip , the
ToolTipManager chooses to use a lightweight
JPanel if it fits. |
void |
setReshowDelay(int milliseconds)
Used to specify the amount of time before the user has to wait initialDelay milliseconds before a tooltip will be
shown. |
static ToolTipManager |
sharedInstance()
Returns a shared ToolTipManager instance. |
private boolean |
shouldRegisterBindings(JComponent component)
Returns whether or not bindings should be registered on the given JComponent . |
(package private) void |
showTipWindow()
|
void |
unregisterComponent(JComponent component)
Removes a component from tooltip control. |
Methods inherited from class java.awt.event.MouseAdapter |
mouseClicked, mouseReleased |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
Timer enterTimer
Timer exitTimer
Timer insideTimer
String toolTipText
Point preferredLocation
JComponent insideComponent
MouseEvent mouseEvent
boolean showImmediately
static final ToolTipManager sharedInstance
transient Popup tipWindow
private Window window
JToolTip tip
private Rectangle popupRect
private Rectangle popupFrameRect
boolean enabled
private boolean tipShowing
private KeyStroke postTip
private KeyStroke hideTip
private Action postTipAction
private Action hideTipAction
private FocusListener focusChangeListener
private MouseMotionListener moveBeforeEnterListener
protected boolean lightWeightPopupEnabled
protected boolean heavyWeightPopupEnabled
Constructor Detail |
ToolTipManager()
Method Detail |
public void setEnabled(boolean flag)
flag
- true to enable the tip, false otherwisepublic boolean isEnabled()
public void setLightWeightPopupEnabled(boolean aFlag)
JToolTip
, the
ToolTipManager
chooses to use a lightweight
JPanel
if 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.
aFlag
- true if a lightweight panel is desired, false otherwisepublic boolean isLightWeightPopupEnabled()
Tooltips
are in use, or false if heavyweight (native peer)
Tooltips
are being used.
ToolTips
are in usepublic void setInitialDelay(int milliseconds)
milliseconds
- the number of milliseconds to delay
(after the cursor has paused) before displaying the
tooltipgetInitialDelay()
public int getInitialDelay()
setInitialDelay(int)
public void setDismissDelay(int milliseconds)
milliseconds
- the number of milliseconds to delay
before taking away the tooltipgetDismissDelay()
public int getDismissDelay()
setDismissDelay(int)
public void setReshowDelay(int milliseconds)
initialDelay
milliseconds 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 within
milliseconds
milliseconds the tooltip will immediately
be shown. Otherwise, if the user moves into a region with a valid
tooltip after milliseconds
milliseconds, the user
will have to wait an additional initialDelay
milliseconds before the tooltip is shown again.
milliseconds
- time in millisecondsgetReshowDelay()
public int getReshowDelay()
setReshowDelay(int)
void showTipWindow()
void hideTipWindow()
public static ToolTipManager sharedInstance()
ToolTipManager
instance.
ToolTipManager
objectpublic void registerComponent(JComponent component)
This will register key bindings to show and hide the tooltip text
only if component
has focus bindings. This is done
so that components that are not normally focus traversable, such
as JLabel
, are not made focus traversable as a result
of invoking this method.
component
- a JComponent
object to addComponent.isFocusTraversable()
public void unregisterComponent(JComponent component)
component
- a JComponent
object to removeprivate boolean shouldRegisterBindings(JComponent component)
JComponent
. This is implemented to return true if the
tool tip manager has a binding in any one of the
InputMaps
registered under the condition
WHEN_FOCUSED
.
This does not use isFocusTraversable
as
some components may override isFocusTraversable
and
base the return value on something other than bindings. For example,
JButton
bases its return value on its enabled state.
component
- the JComponent
in questionpublic void mouseEntered(MouseEvent event)
mouseEntered
in interface MouseListener
mouseEntered
in class MouseAdapter
event
- the event in questionprivate void initiateToolTip(MouseEvent event)
public void mouseExited(MouseEvent event)
mouseExited
in interface MouseListener
mouseExited
in class MouseAdapter
event
- the event in questionpublic void mousePressed(MouseEvent event)
mousePressed
in interface MouseListener
mousePressed
in class MouseAdapter
event
- the event in questionpublic void mouseDragged(MouseEvent event)
mouseDragged
in interface MouseMotionListener
event
- the event in questionpublic void mouseMoved(MouseEvent event)
mouseMoved
in interface MouseMotionListener
event
- the event in questionprivate void checkForTipChange(MouseEvent event)
event
.
static Frame frameForComponent(Component component)
private FocusListener createFocusChangeListener()
private int getPopupFitWidth(Rectangle popupRectInScreen, Component invoker)
private int getPopupFitHeight(Rectangle popupRectInScreen, Component invoker)
private int getHeightAdjust(Rectangle a, Rectangle b)
private int getWidthAdjust(Rectangle a, Rectangle b)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |