retour d'objet aprs ouverture d un Task
Bonjour,
j'essaye désespérement de manipuler un objet retourné par un task , sans succes ! En regardant ce qui s 'est fait sur le forum il semblerait que je ne suis pas le seul! Mon problème se rapproche je pense de Gazoline https://www.developpez.net/forums/d1...ultat-d-tache/
J'essaye d'avoir accès à parametreR (objet contenant plusieurs String) afin de l'inclure dans un tableau ObservableList . Le Task que j ai repompé sur les tuto de Developpez.com fonctionne ...mais le problème c'est pouvoir ensuite utiliser l'objet!!!
voici une partie de mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| @FXML
// Gestion du Bouton 5 ...
private void SiB5() {
final Service<Parametres> ReceptionUDP = new Service<Parametres>()
{
protected Task<Parametres> createTask()
{
return new Task<Parametres>(){
@Override
protected Parametres call() throws Exception {
Parametres parametreR = new Parametres();
parametreR= udp.reception();
System.out.println(parametreR.getLatitude());
return parametreR;
}
};
}
};
ReceptionUDP.start();
/*
* j ai bien essayé de faire parametreR=ReceptionUDP.start(); pour faire ensuite un data.AddData(parametreR) ...
* Mais ça ne marche pas !!!
*
*/
} |
En attente de vos réflexions et de vos explications concernant le retour des Task
Bien Cordialement
C est la ou j ai du mal ....
Merci pour votre réponse , les tuto et la FAQ sont très bien et bien expliqués mais c'est moi ,j ai un peu de mal, j'ai bien vu ça :
"Pour récupérer le résultat final d'un service, il suffit de récupérer la valeur de sa propriété en lecture seule value lorsque le service est dans l’état SUCCEEDED.
Par exemple :
Code Java :
Code:
1 2 3 4
| service.setOnSucceeded(workerStateEvent -> {
final V result = service.getValue();
System.out.printf("Traitement terminé %s !", result).println();
}); |
"
En relisant votre Post j'ai enfin compris La Value est exploitable dan la routine :
Code:
1 2 3 4
| service.setOnSucceeded(event -> {
final T data = (T) event.getSource().getValue();
[... et la je mets mon addData() pour mon tableview ... ]
}); |
En attente de votre réponse pour savoir si je fais bien les choses . Et en tout cas avec tous mes remerciements car cette partie est difficile quand on est un simple passionné d'informatique et pas un professionnel :?
En
En attente de vous lire et avec tous mes remerciements pour votre première réponse.
Cdt
:D
Oui c 'est tout a fait ça....
Bonsoir,
Oui vous avez tout à fait cerné mon problème de pensée , c'est vrai que ça n'est pas "naturel" que de mettre un listener pour savoir si la réponse du Task arrive ....
Néanmoins un Grand Merci car ça marche je vais enfin essayer de récupérer les paramètres de mon Drone maison via l'UDP sur mon PC portable :D:D:D