Start of Tutorial > Start of Trail > Start of Lesson |
Search
Feedback Form |
Creating a tool tip for anyJComponent
is easy. You just use thesetToolTipText
method to set up a tool tip for the component. For example, to add tool tips to three buttons, you add only three lines of code:When the user of the program pauses with the cursor over any of the program's buttons, the tool tip for the button comes up. You can see this by running theb1.setToolTipText("Click this button to disable the middle button."); b2.setToolTipText("This middle button does nothing when you click it."); b3.setToolTipText("Click this button to enable the middle button.");ButtonDemo
example, which is explained in How to Use Buttons, Check Boxes, and Radio Buttons. Here's a picture of the tool tip that appears when the cursor pauses over the left button inButtonDemo
:[Please imagine a cursor over the left button. Thank you.] For components such as tabbed panes that have multiple parts, it often makes sense to vary the tool-tip text to reflect the part of the component under the cursor. For example, a tabbed pane might use this feature to explain what will happen when you click the tab under the cursor. When you implement a tabbed pane, you specify the tab-specific tool-tip text in an argument to the
addTab
method.Even in components that have no API for setting part-specific tool-tip text, you can generally do the job yourself. If the component supports renderers, then you can set the tool tip text on a custom renderer. An alternative that works for all
JComponent
s is creating a subclass of the component and overriding itsgetToolTipText(MouseEvent)
method.
Most of the API you need to set up tool tips is in theJComponent
class, and thus is inherited by most Swing components. More tool-tip API is in individual classes such asJTabbedPane
. In general, those APIs are sufficient for specifying and displaying tool tips; you usually don't need to deal directly with the implementing classes,JToolTip
andToolTipManager
.The following table lists the
JComponent
tool tip API. For information on individual components' support for tool tips, see the how-to section for the component in question.
Tool Tip API in JComponent
Method Purpose setToolTipText(String)
(inJComponent
)If the specified string is non-null, then this method registers the component as having a tool tip and makes the tool tip (when displayed) have the specified text. If the argument is null, then this method turns off tool tips for this component. String getToolTipText()
(inJComponent
)Returns the string that was previously specified with setToolTipText
.String getToolTipText(MouseEvent)
(inJComponent
)By default, returns the same value returned by getToolTipText()
. Multi-part components such asJTabbedPane
,JTable
, andJTree
override this method to return a string associated with the mouse event location. For example, each tab in a tabbed pane can have different tool-tip text.setToolTipLocation(Point)
Point getToolTipLocation()
(inJComponent
)Set or get the location (in the receiving component's coordinate system) where the upper left corner of the component's tool tip will appear. The default value is null, which tells the Swing system to choose a location.
This table shows some examples that use tool tips and where those examples are described.
Example Where Described Notes ButtonDemo
This section and How to Use Buttons, Check Boxes, and Radio Buttons Uses a tool tip to provide instructions for a button. IconDemoApplet
How to Use Icons Uses a tool tip in a label to provide name and size information for an image. TabbedPaneDemo
How to Use Tabbed Panes Uses an argument to the addTab
method to specify tool tip text for each tab.TableRenderDemo
Further Customizing Table Display and Event Handling Adds tool tips to a table using custom renderers and editors. TreeIconDemo2
Customizing a Tree's Display Adds tool tips to a tree using a custom renderer. ActionDemo
How to Use Actions Adds tool tips to buttons created using Action
s.
Start of Tutorial > Start of Trail > Start of Lesson |
Search
Feedback Form |