|
- package de.uniluebeck.mi.projmi6;
-
- import de.uniluebeck.mi.projmi6.controller.MainController;
- import de.uniluebeck.mi.projmi6.db.DBHandler;
- import de.uniluebeck.mi.projmi6.model.Kasse;
- import de.uniluebeck.mi.projmi6.model.Mitarbeiter;
- import de.uniluebeck.mi.projmi6.model.OpsCode;
- import javafx.application.Application;
- import javafx.collections.FXCollections;
- import javafx.concurrent.Task;
- import javafx.fxml.FXMLLoader;
- import javafx.geometry.Insets;
- import javafx.geometry.Pos;
- import javafx.scene.Parent;
- import javafx.scene.Scene;
- import javafx.scene.control.ProgressIndicator;
- import javafx.scene.image.Image;
- import javafx.scene.image.ImageView;
- import javafx.scene.layout.Background;
- import javafx.scene.layout.BackgroundFill;
- import javafx.scene.layout.CornerRadii;
- import javafx.scene.layout.VBox;
- import javafx.scene.paint.Paint;
- import javafx.scene.text.Font;
- import javafx.scene.text.Text;
- import javafx.stage.Stage;
- import javafx.stage.StageStyle;
-
-
- public class Main extends Application {
-
- /**
- * Cuz building the GUI from FXML is a bit costly,
- * it's done from its own thread.
- */
- private Task<Parent> loadMainWindowTask = new Task<Parent>(){
-
- @Override
- protected Parent call() throws Exception {
-
- MainController mainController = new MainController();
- System.out.println("Lade OPS-Codes...");
- mainController.getStammdaten().setOpsCodes(FXCollections.observableArrayList(
- DBHandler.getAllOpsCodes()
- ));
-
- System.out.println("Lade ICD-10-Codes...");
- mainController.getStammdaten().setIcd10Codes(FXCollections.observableArrayList(
- DBHandler.getAllIcd10Codes()
- ));
-
- System.out.println("Lade Krankenkassen...");
- mainController.getStammdaten().setKassen(FXCollections.observableArrayList(
- DBHandler.getAllKassen()
- ));
-
- System.out.println("Lade Mitarbeiter...");
- mainController.getStammdaten().setMitarbeiter(FXCollections.observableArrayList(
- DBHandler.getAllMitarbeiter()
- ));
-
- System.out.println("Lade Stationen...");
- mainController.getStammdaten().setStationen(FXCollections.observableArrayList(
- DBHandler.getAllStationen())
- );
-
- System.out.println("Lade GUI...");
- FXMLLoader fxmlLoader = new FXMLLoader();
- fxmlLoader.setLocation(getClass().getClassLoader().getResource("main.fxml"));
- fxmlLoader.setControllerFactory(mainController.getControllerFactory());
-
- Parent root = fxmlLoader.load();
-
- return root;
- }
- };
-
- /**
- * The applications logo (an owl).
- */
- private Image icon = new Image("icon.png", true);
-
-
- @Override
- public void start(Stage primaryStage) {
- System.out.println(getClass().getClassLoader().getResource("").toExternalForm());
-
- primaryStage.getIcons().add(icon);
-
- Stage loadingMessage = createLoadWindow();
-
- loadMainWindowTask.setOnFailed(event -> {
- loadMainWindowTask.getException().printStackTrace();
- loadingMessage.close();
- });
- loadMainWindowTask.setOnSucceeded(event -> {
- Parent root = loadMainWindowTask.getValue();
-
- loadingMessage.close();
-
- primaryStage.setTitle("KIS Gruppe 06");
- primaryStage.setScene(new Scene(root, 1000, 800));
- primaryStage.show();
- });
- Thread thread = new Thread(loadMainWindowTask);
- thread.setDaemon(true);
- thread.start();
-
-
- }
-
- /**
- * Creates a small, undecorated stage for
- * showing a splash-screen to the user.
- *
- * @return the splash screen
- */
- public Stage createLoadWindow(){
- Text kis = new Text("KIS");
- kis.setFont(Font.font(50));
-
- Text gruppe6 = new Text("Gruppe 06");
- gruppe6.setFont(Font.font(20));
-
- VBox root = new VBox(gruppe6, new ImageView(icon), kis);
- root.setSpacing(20);
- root.setAlignment(Pos.CENTER);
- Scene scene = new Scene(root, 400, 400);
-
- Stage stage = new Stage(StageStyle.UNDECORATED);
- stage.getIcons().add(icon);
- root.setBackground(new Background(new BackgroundFill(Paint.valueOf("#0093D1"), CornerRadii.EMPTY, Insets.EMPTY)));
- stage.setScene(scene);
- stage.show();
-
- return stage;
- }
-
- /**
- * Applications entry point.
- *
- * @param args Commandline parameters
- */
- public static void main(String[] args) {
- launch(args);
- }
- }
|