Für Kontrollen
Kontrollen Habe eine setter for tooltips. Verwenden Sie das für Steuerelemente.
Um den Tooltip auf einer Steuerung eingestellt:
btnSettingsOk.setTooltip(new Tooltip("OK Button"));
Um den Tooltip an einer Steuer zu entfernen:
btnSettingsOk.setTooltip(null);
Für Knoten, die
Layout-Scheiben nicht Steuerelemente sind, Formen und andere Knoten haben keinen Setter für Tooltips (weil Tooltips als Steuerelemente klassifiziert sind und die JavaFX-Entwickler eine Abhängigkeit vermeiden wollten) der allgemeinen Szenendiagrammknoten auf dem Steuerpaket). Diese Knoten können jedoch weiterhin mit QuickInfos arbeiten, die die statischen Methoden install
und uninstall
verwenden.
Das ist so ziemlich Ikallas Antwort, obwohl ich es nur mit würde Sie raten, wenn die Knoten in Rede stehenden Art keine explizite setTooltip
Methode nicht liefern - obwohl es auch für die Kontrollen funktioniert. Die set-Methode für Steuerelemente ist einfacher zu verwenden, da das Steuerelement einen Verweis auf den Tooltip speichert, während bei einer statischen Deinstallation Ihre Anwendung dafür verantwortlich ist, den Verweis auf den Tooltip beizubehalten, damit er später entfernt werden kann.
Um den Tooltip auf einem Knoten wird, der kein Steuer ist:
Tooltip okTooltip = new Tooltip("OK Button");
Tooltip.install(btnSettingsOk, okTooltip)));
Um den Tooltip von einem Knoten zu entfernen, die keine Kontrolle:
Tooltip.uninstall(btnSettingsOk, okTooltip);
Gute Antwort! JavaFX-Tooltips für mich verständlicher gemacht;) – lkallas
@jewelsea siehe meinen Kommentar zu Ikallas Antwort. Sie benötigen den Tooltip-Parameter nicht in Tooltip.uninstall(). Es wird überhaupt nicht verwendet (sehen Sie sich die Implementierung an) – Rainer
Die öffentliche API enthält den Tooltip zur Deinstallation als zweiten Parameter für [uninstall] (https://docs.oracle.com/javase/8/javafx/api/javafx) /scene/control/Tooltip.html#uninstall-javafx.scene.Node-javafx.scene.control.Tooltip-) Methode.Daher würde ich geneigt sein, den richtigen Tooltip zur Deinstallation an die Methode zu übergeben, unabhängig davon, was die Implementierung tut (auch wenn Sie in Ihrem anderen Kommentar darauf hinweisen, dass der Parameter in der aktuellen internen Implementierung von Java 8 nicht verwendet wird). Danke, dass du es aufgezeigt hast. – jewelsea