JavaFx: mise à Jour de l'INTERFACE utilisateur de l'étiquette de manière asynchrone avec les messages lors de l'application de différentes méthodes d'exécution
Je suis en train de mettre à jour les étiquettes dans mon JavaFx GUI de manière asynchrone avec différents message d'état de l'application.
Pour, par exemple,
Un bouton "mettre à jour" dans ma Demande d'appel d'une méthode updateSettings() dans le contrôleur. Maintenant, je suis à essayer de mettre à jour l'étiquette sur l'INTERFACE utilisateur de la manière suivante.
@FXML
private void updateSettings() {
label.text("message1");
//some action
lable.text("action done");
label.text("calling method.. wait for some time")
//call to time consuming method - timeConsumingMethod();
label.text
label.text("operation completely successfully");
}
private void timeConsumingMethod() {
label.text("message2");
//some actions
label.text("message3");
//more time consuming actions
label.text("time consuming method is done with success");
}
Je veux que ces messages doivent être affichés dans l'étiquette, tandis que le débit est arriver exécuté, pour montrer à l'utilisateur sur les différentes activités de l'application.
Comment obtenir ce comportement ?
Vous devez vous connecter pour publier un commentaire.
Vous exécutez votre temps consommer méthode hors de le JavaFX application thread (dans un Tâche). Les tâches ont Api spécial qui facilitent la mise à disposition de messages de statut qui peut être affiché dans un encadrement de l'étiquette.
Ce que j'ai fait avec le code ci-dessous est d'essayer de créer un système qui imite le flux suggéré et le message de rapports que vous avez fourni dans votre question. Pour diverses raisons, comme indiqué dans le code seulement certains messages seront visibles pour l'utilisateur.