/**
   * This method is called when the splash screen has finished initializing the application. The
   * initialized resources are in a ServiceLocator singleton. Our task is to now create the
   * application MVC components, to hide the splash screen, and to display the application GUI.
   *
   * <p>Multitasking note: This method is called from an event-handler in the Splash_Controller,
   * which means that it is on the JavaFX Application Thread, which means that it is allowed to work
   * with GUI components. http://docs.oracle.com/javafx/2/threads/jfxpub-threads.htm
   */
  public void startApp() {
    // Stage appStage = new Stage();
    serverStage = new Stage();
    // Resources are now initialized
    ServiceLocator sl = ServiceLocator.getServiceLocator();
    Translator t = sl.getTranslator();
    System.out.println("BLABLA");
    try {
      final URL fxmlURL =
          getClass().getResource("/Server/Server.fxml"); // FXML-File from the ClientLogin-Window
      final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL);
      fxmlLoader.setController(new Server_Controller());
      final Parent root = fxmlLoader.load();
      Scene scene = new Scene(root, 650, 450);
      //			scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
      serverStage.setScene(scene);
      serverStage.setTitle(t.getString("program.name.windowName"));
      serverStage.show();
      String zwischenstatus = fxmlURL.toString();
      System.out.println("Application FXML Loader Pfad ist: " + zwischenstatus);
    } catch (Exception e) {
      e.printStackTrace();
    }

    // Close the splash screen, and set the reference to null, so that all
    // Splash_XXX objects can be garbage collected
    splashView.stop();
    splashView = null;

    //        view.start();
  }
  /**
   * The stop method is the opposite of the start method. It provides an opportunity to close down
   * the program, including GUI components. If the start method has never been called, the stop
   * method may or may not be called.
   *
   * <p>Make the GUI invisible first. This prevents the user from taking any actions while the
   * program is ending.
   */
  @Override
  public void stop() {
    if (serverStage != null) {
      // Make the view invisible
      // Commented because of errors - serviceLocator.getLogger().info("Server-GUI wird beendet");
      // // HIIIER Kommt wohl kein check durch - ist es wirklich view den wir prüfen müssen??
      serverStage.hide();
    }
    if (serverStage != null) {
      Platform.exit(); // Ends all JavaFX activities
      System.exit(0); // Ends all Programm activities
    }

    serviceLocator.getLogger().info("nach dem if vom Server_Template stopp");
    serviceLocator
        .setChangeValueWindowIsActive(); // Changes the ServiceLocator Value for WindowIsActive to
    // false so that the thread ShowTimeInWindow() stops

    // More cleanup code as needed

    serviceLocator
        .getLogger()
        .info("Application terminated"); // Wieso wird diese Message jetzt mit "appStage.hide();"
    // nicht mehr angezeigt?
  }