package app; import adapter.ModelAdapter; import controller.MainWindowController; import javafx.fxml.FXMLLoader; import javafx.scene.*; import javafx.stage.Stage; import model.*; import observer.IObserver; public class Application extends javafx.application.Application{ public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) throws Exception { // Configure loader FXMLLoader fxmlLoader = new FXMLLoader(Application.class.getClassLoader().getResource("JavafxView/MainWindow.fxml")); Scene scene=new Scene((Parent)fxmlLoader.load()); // Configure window primaryStage.setTitle("2048"); primaryStage.setScene(scene); // Configure controller IModel model=new Board(4,4); ModelAdapter adapter=new ModelAdapter((Board) model); adapter.addRandomNumber(); MainWindowController controller=fxmlLoader.getController(); adapter.addObserver((IObserver)controller); controller.loadComponent(adapter,model,scene); // Show window primaryStage.show(); } }