如何在JavaFX中禁用/隐藏工具提示
以下是我设置工具提示的方式:如何在JavaFX中禁用/隐藏工具提示,java,javafx,tooltip,hide,Java,Javafx,Tooltip,Hide,以下是我设置工具提示的方式: if(Globals.isShowTooltips()) { locale = new Locale(Globals.getGuiLanguage()); bundle = ResourceBundle.getBundle("bundles.lang", locale); btnSettingsApply.setTooltip( new Tooltip(bundle.getString("btnSet
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")));
}
如何隐藏工具提示?在我看来,这并没有一个直截了当的方法
感谢您的帮助 好的,刚刚找到我自己问题的答案:)
如果有更好的方法,我想知道;) 用于控件 控件有一个新的属性。因此,对于控件,请使用该选项 要在控件上设置工具提示,请执行以下操作:
btnSettingsOk.setTooltip(new Tooltip("OK Button"));
btnSettingsOk.setTooltip(null);
Tooltip okTooltip = new Tooltip("OK Button");
Tooltip.install(btnSettingsOk, okTooltip)));
Tooltip.uninstall(btnSettingsOk, okTooltip);
要删除控件上的工具提示,请执行以下操作:
btnSettingsOk.setTooltip(new Tooltip("OK Button"));
btnSettingsOk.setTooltip(null);
Tooltip okTooltip = new Tooltip("OK Button");
Tooltip.install(btnSettingsOk, okTooltip)));
Tooltip.uninstall(btnSettingsOk, okTooltip);
对于非控件的节点
布局窗格、形状和其他节点没有工具提示的setter(因为工具提示被分类为控件,JavaFX开发人员希望避免常规场景图节点依赖于控件包)。但是,这些节点仍然可以使用静态和方法处理工具提示
这几乎是Ikallas的答案,尽管我只建议在所讨论的节点类型不提供显式的setTooltip
方法时使用它,即使它也适用于控件。控件上的set方法使用起来更简单,因为控件存储对工具提示的引用,而对于静态卸载,应用程序负责保留对工具提示的引用,以便以后删除它
要在非控件的节点上设置工具提示,请执行以下操作:
btnSettingsOk.setTooltip(new Tooltip("OK Button"));
btnSettingsOk.setTooltip(null);
Tooltip okTooltip = new Tooltip("OK Button");
Tooltip.install(btnSettingsOk, okTooltip)));
Tooltip.uninstall(btnSettingsOk, okTooltip);
要从非控件的节点删除工具提示,请执行以下操作:
btnSettingsOk.setTooltip(new Tooltip("OK Button"));
btnSettingsOk.setTooltip(null);
Tooltip okTooltip = new Tooltip("OK Button");
Tooltip.install(btnSettingsOk, okTooltip)));
Tooltip.uninstall(btnSettingsOk, okTooltip);
另一种方法是将工具提示设置为null。然后在需要时重新应用它。但我认为你自己的解决方案可能更好;)刚遇到这个问题,卸载时不需要第二个参数。如果你问我,相当重的API失败了,但是第二个参数根本没有使用。publicstaticvoiduninstall(Node节点,工具提示t){BEHAVIOR.uninstall(Node);}回答得好!使JavaFX工具提示对我来说更容易理解;)@请看我对Ikallas答案的评论。您不需要tooltip.uninstall()上的tooltip参数。它根本没有被使用(看看实现),公共API将要卸载的工具提示作为方法的第二个参数。因此,我倾向于将正确的工具提示传递给方法,以便卸载,而不管实现做了什么(尽管,正如您在其他注释中指出的,参数未在Java 8的当前内部实现中使用)。不过谢谢你指出这一点。