package at.ac.tuwien.sepm.assignment.groupphase; import at.ac.tuwien.sepm.assignment.groupphase.util.SpringFXMLLoader; import java.lang.invoke.MethodHandles; import javafx.application.Application; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.stage.Stage; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.ComponentScan; import org.springframework.stereotype.Component; @Component @ComponentScan("at.ac.tuwien.sepm.assignment.groupphase") public class CarAddApp extends Application { private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); public static AnnotationConfigApplicationContext context; @Override public void start(Stage primaryStage) throws Exception { // setup application primaryStage.setTitle("Fahrzeug anlegen"); primaryStage.setWidth(1366); primaryStage.setHeight(768); primaryStage.centerOnScreen(); primaryStage.setOnCloseRequest(event -> LOG.debug("Application shutdown initiated")); context = new AnnotationConfigApplicationContext(CarAddApp.class); final var fxmlLoader = context.getBean(SpringFXMLLoader.class); primaryStage.setScene( new Scene( (Parent) fxmlLoader.load( getClass() .getResourceAsStream( "/controller/createCar.fxml")))); // show application primaryStage.show(); primaryStage.toFront(); LOG.debug("Application startup complete"); } @Override public void stop() { LOG.debug("Stopping application"); context.close(); } }