code: public void show() {
          if (isVisible()) {
              return;
          }
  
          resetToInitialState();
  
          setVisible(true);
  
          final Timeline phaseOne = new Timeline();
          phaseOne.getKeyFrames().addAll(
                  new KeyFrame(Duration.ZERO, new KeyValue(transformRadius, fromRadius), new KeyValue(transformOpacity, 0)),
                  new KeyFrame(new Duration(120), new KeyValue(transformRadius, parentSection.getNominalRadius()), new KeyValue(transformOpacity, 1))
          );
  
          final Timeline phaseTwo = new Timeline();
          phaseTwo.getKeyFrames().addAll(
                  new KeyFrame(Duration.ZERO, new KeyValue(transformAngle, parentSection.getAngularAxisDeg())),
                  new KeyFrame(new Duration(80), new KeyValue(transformAngle, angle))
          );
  
          phaseOne.setOnFinished(event -> phaseTwo.play());
  
          phaseTwo.setOnFinished(event -> setMouseTransparent(false));
  
          phaseOne.play();
      }
docs: Trainsit the button to "Visible" state.