2017-09-25 5 views
1

Je suis à la recherche d'une solution pour le problème suivant: J'ai construit un javafx GUI avec SceneBuilder et ajouté tooltips à certaines des étiquettes que j'ai ajoutées.Définir la durée personnalisée pour les info-bulles dans JAVAFX

Cependant, lese cache automatiquement après ~ 5 secondes. Parfois, cela ne suffit pas à l'utilisateur pour lire le contenu entier tooltips. Je voudrais montrer le tooltip tant que le curseur reste au-dessus de l'étiquette et désactiver complètement cette fonction autoHide.

Je n'ai pas trouvé un moyen de personnaliser le temps d'affichage d'une fenêtre ou de désactiver complètement la fonction de masquage automatique. Est-ce que quelqu'un a résolu ce problème ou un problème similaire?

Merci d'avance!

Répondre

2

En JavaFX 9 vous pouvez définir le showDuration (et showDelay) Propriété:

tooltip.setShowDuration(Duration.seconds(10)); 

ou FXML

<Tooltip text="Some text"> 
    <showDuration> 
     <Duration millis="10000" /> 
    </showDuration> 
</Tooltip> 

Vous pouvez également configurer ce en utilisant le CSS: le

suivant
.tooltip { 
    -fx-show-duration: 10s ; 
} 

dans un fichier CSS externe définira la durée de l'émission à 10 secondes pour tous t ooltips. (Et vous pouvez évidemment définir des classes de style et/ou des identifiants dans l'info-bulle pour créer des sélecteurs CSS plus spécifiques.)

Il n'y a pas d'API pour cela dans les versions antérieures de JavaFX.

+0

Merci beaucoup - il m'a fallu du temps pour migrer vers JAVA 9 mais maintenant ça marche bien;) –