-
Notifications
You must be signed in to change notification settings - Fork 0
/
MainApplication.java
77 lines (64 loc) · 2.66 KB
/
MainApplication.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
package practicumopdracht;
import javafx.scene.Scene;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuBar;
import javafx.scene.control.MenuItem;
import javafx.scene.layout.Border;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
import javafx.application.Application;
import practicumopdracht.controllers.AchievementController;
import practicumopdracht.controllers.Controller;
import practicumopdracht.controllers.GameController;
import practicumopdracht.controllers.MenuController;
import practicumopdracht.data.AchievementDAO;
import practicumopdracht.data.GameDAO;
import practicumopdracht.models.Achievement;
import practicumopdracht.models.Game;
import practicumopdracht.views.AchievementView;
import practicumopdracht.views.GameView;
public class MainApplication extends Application {
private static final String TITLE = "Practicumopdracht OOP2 - Kamiel de Visser";
private static Stage stage;
private static AchievementDAO achievementDAO = new AchievementDAO();
private static GameDAO gameDAO = new GameDAO();
private static BorderPane mainContainer;
public static Controller menuController, gameController, achievementController, currentController;
/**
* Override of main entry point for all JavaFX applications.
* Called after init method has been returned, and after
* System is ready for the application to be running.
* @param stage the top level JavaFX container.
*/
@Override
public void start(Stage stage) {
this.stage = stage;
stage.setTitle(TITLE);
// Create new controllers for each view
gameController = new GameController();
achievementController = new AchievementController();
menuController = new MenuController();
// Create a container for a MenuView + GameView/AchievementView
mainContainer = new BorderPane();
mainContainer.setTop(menuController.getView().getRoot());
// Set the scene to that container
stage.setScene(new Scene(mainContainer));
// Switch the controller to the start view.
switchController(gameController);
}
public static void switchController(Controller mainViewController)
{
currentController = mainViewController;
currentController.onSwitchView();
// Set the center part of the mainContainer to the controller's GameView/AchievementView
mainContainer.setCenter(mainViewController.getView().getRoot());
stage.sizeToScene();
stage.show();
}
public static AchievementDAO getAchievementDAO() {
return achievementDAO;
}
public static GameDAO getGameDAO() {
return gameDAO;
}
}