Aš Gražus Tamsoje
Aš Gražus Tamsoje

Reputation: 33

How to disable button for 3 seconds in java

down = new Button ("Down");
     down.setOnAction ( e -> {

         TranslateTransition transition = new TranslateTransition();
         transition.setDuration(Duration.millis(2500));
         transition.setNode(circledd);

            transition.setByX(50); //horizontaliai
            transition.setByY(0);  //Vertikaliai
            transition.setAutoReverse(false);
            transition.play();

     });

I wish that: Once I click "down" button, picture moves to another position. While picture is moving, "down' button is disabled (for 3 seconds). After that, "down" button enables itself (without needing user to do other action)

Upvotes: 1

Views: 459

Answers (1)

James_D
James_D

Reputation: 209225

Just register an onFinished handler with the animation:

 down.setOnAction ( e -> {

     TranslateTransition transition = new TranslateTransition();
     transition.setDuration(Duration.millis(2500));
     transition.setNode(circledd);

     transition.setByX(50); //horizontaliai
     transition.setByY(0);  //Vertikaliai
     transition.setAutoReverse(false);

     down.setDisable(true);
     transition.setOnFinished(evt -> down.setDisable(false));

     transition.play();
 });

Upvotes: 5

Related Questions