IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaFX Discussion :

Attendre la fin d'une TranslateTransition


Sujet :

JavaFX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 1
    Par défaut Attendre la fin d'une TranslateTransition
    Bonjour,

    J'utilise la TranslateTransition pour déplacer un objet, et j'aimerai attendre la fin de ce déplacement avant de pouvoir effectuer la même action à nouveau.

    Le problème étant que le TranslateTransition.play() semble asynchrone et le programme n'attend donc pas la fin du traitement.
    Comment remédier à ce problème ?
    Merci par avance pour votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 900
    Billets dans le blog
    54
    Par défaut
    Via le callback setOnFinished().
    En général pour ce genre d'action j'écris l'action de manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    private Animation currentAnimation  = null;
     
    private void doAction(param1, param2, param3) {
      ui.setDisable(true);
      if (animated) {
         final var t = new ConcreteTransition(); 
         [...]
         t.setOnFinished(event -> {
             doAction_impl(param1, param2, param3);
             currentAnimation = null;
         });
         currentAnimation = t;
         currentAnimation.playFromStart();
      } else {
        doAction_impl(param1, param2, param3);
      }
    }
     
    private void doAction_impl(param1, param2, param3) {
      [...]
      ui.setDisable(false);
    }
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

Discussions similaires

  1. Attendre la fin d'une fonction
    Par benjhe dans le forum VB.NET
    Réponses: 4
    Dernier message: 13/12/2007, 14h44
  2. Attendre la fin d'une popup
    Par maxattack dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 03/07/2007, 21h27
  3. [JFrame] Attendre la fin d'une autre fenêtre
    Par nicolas.pied dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 20/12/2005, 09h14
  4. Attendre la fin d'une action
    Par ederoeck dans le forum Access
    Réponses: 3
    Dernier message: 24/09/2005, 08h36
  5. [FLASH MX2004] Attendre la fin d'une anim
    Par stailer dans le forum Flash
    Réponses: 2
    Dernier message: 11/07/2005, 12h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo