private void drawerAnimation() { Timeline animation; if (drawerOpened) { toggleLayer.setVisible(true); animation = new Timeline( new KeyFrame( DEFAULT_TIME_ANIM, new KeyValue(nav.translateXProperty(), 0, Interpolator.EASE_OUT), new KeyValue(toggleLayer.opacityProperty(), 0.3))); } else { animation = new Timeline( new KeyFrame( DEFAULT_TIME_ANIM, new KeyValue(nav.translateXProperty(), -DEFAULT_WIDTH_NAV, Interpolator.EASE_IN), new KeyValue(toggleLayer.opacityProperty(), 0))); animation.setOnFinished( evt -> { toggleLayer.setOpacity(0); toggleLayer.setVisible(false); }); } animation.play(); }