使用JToolTip

时间:2010-07-12 15:23:46

标签: java swing

我想使用该类而不是调用JComponent setToolTipText方法而是代码 下面没有显示工具提示:

JButton btn = new JButtn("SAVE");
JToolTip tip_for_button = new JToolTip();
tip_for_button.setTipText("blah blah");
tip_for_button.setComponent(btn);

为什么?

3 个答案:

答案 0 :(得分:3)

好吧,因为实际捕获鼠标事件并显示工具提示的所有代码都在ToolTipManager中(此类的实例是单例,在应用程序中是唯一的),而ToolTipManager始终调用{确定要显示的工具提示时,组件上的{1}}方法。因此,如果您想使用自己的工具提示,则必须覆盖此方法并编写如下内容:

JComponent.createToolTip()

JButton btn = new JButton("SAVE"){ public JToolTip createToolTip() { JToolTip tip_for_button = new JToolTip(){ public String getTipText() { return "blah blah"; } }; tip_for_button.setComponent(this); return tip_for_button; } }; btn.setToolTipText("notnull"); 是必需的,或工具提示不会显示,传递给它的文本始终设置为Component创建的工具提示,因此如果您需要不可变文本,则覆盖setToolTipText

答案 1 :(得分:1)

您可能需要调用setToolTipText()。有关详细信息,请参阅http://download.oracle.com/docs/cd/E17409_01/javase/tutorial/uiswing/components/tooltip.html

答案 2 :(得分:0)

什么是tip_for_button?为了使其正常工作,我非常确定tip_for_button需要tip