如何在JavaFX中禁用/隐藏工具提示

时间:2015-03-19 20:30:34

标签: java javafx tooltip hide

这是我设置工具提示的方式:

if(Globals.isShowTooltips()) {
    locale = new Locale(Globals.getGuiLanguage());
    bundle = ResourceBundle.getBundle("bundles.lang", locale);            

    btnSettingsApply.setTooltip(
        new Tooltip(bundle.getString("btnSettingsApplyt")));

    btnSettingsOk.setTooltip(
        new Tooltip(bundle.getString("btnSettingsOkt")));

    btnSettingsCancel.setTooltip(
        new Tooltip(bundle.getString("btnSettingsCancelt")));            
}

如何隐藏工具提示?在我看来,没有一种直截了当的方法。

感谢任何帮助!

2 个答案:

答案 0 :(得分:10)

对于控件

控件有一个setter for tooltips。因此,对于控件,请使用它。

在控件上设置工具提示:

btnSettingsOk.setTooltip(new Tooltip("OK Button"));    

删除控件上的工具提示:

btnSettingsOk.setTooltip(null);    

对于非控件的节点

布局窗格,形状和其他节点没有工具提示的设置器(因为工具提示被归类为控件,而JavaFX开发人员希望避免一般场景图节点对控件包的依赖)。但是,这些节点仍然可以使用静态installuninstall方法处理工具提示。

这几乎是Ikallas的答案,但我只建议在有问题的节点类型不提供明确的setTooltip方法时使用它 - 即使它也适用于控件。控件上的set方法更易于使用,因为控件存储对Tooltip的引用,而对于静态卸载,应用程序负责保留对工具提示的引用,以便以后可以将其删除。

要在不是控件的节点上设置工具提示:

Tooltip okTooltip = new Tooltip("OK Button");
Tooltip.install(btnSettingsOk, okTooltip))); 

要从不是控件的节点中删除工具提示:

Tooltip.uninstall(btnSettingsOk, okTooltip); 

答案 1 :(得分:1)

好的,我找到了回答我自己的问题:)

Tooltip.install(btnSettingsOk, new Tooltip(bundle.getString("btnSettingsOkt"))); //This is for showing

Tooltip.uninstall(btnSettingsOk, new Tooltip(bundle.getString("btnSettingsOkt"))); //This is for disabling

如果有更好的方式我想知道它;)