'Matin.
J'ai juste un petit problème avec Java FX.
Le problème est le problème: je veux écrire un code et laisser une fenêtre contextuelle à venir lorsque l'utilisation fermera l'application via le bouton de fermeture par défaut. Chaque fois que j'appuie sur le bouton Applauté Kill App, Un message contextuel suivra et demandez-moi si je veux fermer l'application p> Le problème est, lorsque je cours pour la première fois la méthode, la variable booléenne "Réponse "N'a pas été à proximité du résultat, de sorte que la fermeture (), ne peut pas inclure à l'intérieur du cas.
Comment prévenir cela? Est-ce que j'ai manqué une funcionalité de Javafx? Je suis nouveau sur JavaFx et Java même. P> P>
3 Réponses :
Essayez quelque chose comme ça.
Je suis nouveau à Java moi-même, alors je comprends parfaitement où vous êtes maintenant. P>
Ce que je devine, c'est que votre méthode principale continue à courir après que la boîte de dialogue de confirmation apparaisse, la réponse est donc toujours fausse que la première fois. Peut-être que vous devez garder votre méthode principale en attente pendant que l'utilisateur envisage toujours de fermer ou non le programme. P>
Si votre classe de confirmation étend la classe DialogPane, vous pouvez utiliser la méthode J'espère que cela aide! P>
Edit: En réalité, je viens de réaliser que cette solution est indépendante de savoir si la confirmationbox étend la boîte de dialogpane, car window.showandwait () code> au lieu de
fenêtre.show () code> intérieur
code>. Je pense que cela devrait fonctionner. P>
fenêtre code> est un objet de scène et comprend déjà la méthode
VOIRANDWAIT () CODE>. p>
La fenêtre affiche la fenêtre et renvoie immédiatement la valeur actuelle de Si l'utilisateur appuie sur le Vous pouvez plutôt utiliser la méthode Comme d'autres réponses ont signalé, il y a aussi un .Show () code> montre la fenêtre et retourne immédiatement em>. Par conséquent, votre code
drapeau code> (qui est initialement
false code>). P >
ybutton code>, le drapeau est puis em> défini sur
vrai code> et la prochaine fois qu'ils tentent de fermer la principale Fenêtre, la méthode renvoie immédiatement
true code> et la fenêtre principale se ferme. P>
fenêtre.showandwait () code>
qui" montre cette étape et attend que ce soit caché (fermé) avant de retourner à l'appelant. ": p> boîte de dialogue code> API
, y compris une commodité alerte code> classe
. La principale fonctionnalité que Stage code> n'est pas la possibilité de renvoyer une valeur de la méthode
showandwait () code>. Dans votre cas, vous souhaitez renvoyer un
boolean code>, donc la version code>-Based de votre méthode ressemblerait à: p>