JavaFX simultanées tâche de l'état
Je suis de la création de l'INTERFACE utilisateur de mon application qui partage un module de base avec des versions pour d'autres plates-formes. En JavaFX, je suis en train d'utiliser Tâche
s pour faire les choses dans le contexte, mais je ne peux pas comprendre comment mettre à jour l'état de la Tâche.
C'est ce que je suis en train de faire. Le user
variable contient une instance d'une classe qui effectue xmlrpc les requêtes:
public Task<Integer> doLogin()
{
return new Task<Integer>() {
@Override
protected Integer call()
{
user.login();
if (!user.getIsAuthorized())
{
//set the state to FAILED
}
else
{
//set the state to SUCCEDED
}
user.remember();
}
};
}
Dans mon Thread de l'INTERFACE utilisateur, je veux être capable de faire quelque chose de ce genre pour mettre à jour mon graphique de l'INTERFACE utilisateur:
loginTask.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(WorkerStateEvent t) {
//perform an UI update here depending on the state t
}
});
Comment suis-je censé définir l'état? Il n'y a rien qui fait que dans le La tâche de l'API.
OriginalL'auteur Dreen | 2012-12-18
Vous devez vous connecter pour publier un commentaire.
Task
les états ne sont pas destinés à être utilisés pour l'utilisateur de la logique. Ils sont introduites pour contrôlerTask
flux. Pour ajouter un utilisateur logique dansTask
vous devez utiliserresult
conception. Dans votre cas, vous souhaiterez peut-être utiliserTask<Boolean>
et le résultat de votre tâche seraTRUE
pour les informations d'identification correctes etFALSE
incorrecte:La création de la tâche:
Démarrage de la tâche:
OriginalL'auteur Sergey Grinev