/* * */ package application.presenter; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; import application.tools.InfoTool; import javafx.animation.Animation; import javafx.animation.TranslateTransition; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.scene.control.Label; import javafx.scene.control.ProgressIndicator; import javafx.scene.layout.StackPane; import javafx.scene.shape.Rectangle; import javafx.util.Duration; /** * The Class UpdateScreen. */ public class UpdateScreen extends StackPane { @FXML private Rectangle rectangle; @FXML private Rectangle leftRectangle; @FXML private Rectangle rightRectangle; @FXML private ProgressIndicator progressBar; @FXML private Label label; // ------------------------------------------------------------------------------------- /** * Logger for this class */ private static final Logger logger = Logger.getLogger(UpdateScreen.class.getName()); TranslateTransition translate1; TranslateTransition translate2; /** * Constructor. */ public UpdateScreen() { FXMLLoader loader = new FXMLLoader(getClass().getResource(InfoTool.FXMLS + "UpdateScreen.fxml")); loader.setController(this); loader.setRoot(this); try { loader.load(); } catch (IOException ex) { logger.log(Level.SEVERE, "Update Screen Can't be loaded", ex); } } /** Called as soon as the .fxml has been loaded */ @FXML public void initialize() { // setStyle( // "-fx-background-image:url('/image/logo.jpg'); // -fx-background-size:100% 100%; -fx-background-position: center // center; -fx-background-repeat: stretch;"); // leftRectangle leftRectangle.widthProperty().bind(super.widthProperty().divide(2)); leftRectangle.heightProperty().bind(super.heightProperty()); rightRectangle.widthProperty().bind(leftRectangle.widthProperty()); rightRectangle.heightProperty().bind(leftRectangle.heightProperty()); translate1 = new TranslateTransition(Duration.millis(1000), leftRectangle); translate2 = new TranslateTransition(Duration.millis(1000), rightRectangle); // FunIndicator fun = new FunIndicator(); // fun.setFromColor(Color.RED); // fun.start(); // super.getChildren().add(fun); } /** * Makes the animation with rectangles when the application firstly opens */ public void closeUpdateScreen() { // Left Rectangle if (translate1.getStatus() != Animation.Status.RUNNING && leftRectangle.getTranslateX() >= -leftRectangle.getWidth()) { translate1.setFromX(leftRectangle.getX()); translate1.setToX(-leftRectangle.getWidth()); translate1.playFromStart(); } // Right Rectangle if (translate2.getStatus() != Animation.Status.RUNNING && rightRectangle.getTranslateX() >= -rightRectangle.getWidth()) { translate2.setFromX(rightRectangle.getX()); translate2.setToX(rightRectangle.getX() + rightRectangle.getWidth()); translate2.playFromStart(); } } /** * @return the label */ public Label getLabel() { return label; } /** * @return the progressBar */ public ProgressIndicator getProgressBar() { return progressBar; } }