diff --git a/README.txt b/README.txt index 82dfda8..e722259 100644 --- a/README.txt +++ b/README.txt @@ -1,2 +1,6 @@ -This is a Flight Application Data Analyser. It runs on Java and has dependencys JavaFX and Maven. +This is a Flight Application Data Analyser. It runs on Java and has dependencys JavaFX, SQLITE3 and Maven. If you are using Eclipse as an IDE please follow the instructions on http://www.eclipse.org/efxclipse/install.html to add JavaFX Library. + +To Import this project: +git clone https://eng-git.canterbury.ac.nz/fwy13/SENG202.git +Open your preferred IDE and then Import Maven Project. \ No newline at end of file diff --git a/res/userdb.db b/res/userdb.db index 83d5a1b..478b2fe 100644 Binary files a/res/userdb.db and b/res/userdb.db differ diff --git a/src/main/java/seng202/group9/Controller/App.java b/src/main/java/seng202/group9/Controller/App.java index 2512e2f..48b44ce 100644 --- a/src/main/java/seng202/group9/Controller/App.java +++ b/src/main/java/seng202/group9/Controller/App.java @@ -1,12 +1,21 @@ package seng202.group9.Controller; +import java.io.IOException; +import java.io.InputStream; import java.util.ArrayList; import javafx.application.Application; +import javafx.fxml.FXMLLoader; +import javafx.fxml.Initializable; +import javafx.fxml.JavaFXBuilderFactory; +import javafx.scene.Parent; import javafx.scene.Scene; +import javafx.scene.control.Menu; +import javafx.scene.layout.AnchorPane; import javafx.scene.layout.BorderPane; +import javafx.scene.layout.VBox; import javafx.stage.Stage; -import seng202.group9.GUI.MainMenuBar; +import seng202.group9.GUI.MenuController; /** * Main Application frame of the Flight Data Analyser. @@ -16,6 +25,7 @@ public class App extends Application { private ArrayList Datasets = new ArrayList(); private Dataset currentDataset = null; + private Stage primaryStage = null; public static void main( String[] args ) { @@ -27,14 +37,14 @@ public class App extends Application */ @Override public void start(Stage primaryStage) { - BorderPane root = new BorderPane(); //root panel - Scene scene = new Scene(root,400,400); - //create the menu - MainMenuBar menuBar = new MainMenuBar(); - root.setTop(menuBar.getmenuBar()); - //TODO add the getting started page here. - - primaryStage.setScene(scene); + this.primaryStage = primaryStage; + try { + MenuController menuController = new MenuController(); + menuController.setApp(this); + replaceSceneContent("menu.fxml");//replace this to check your fxml file + } catch (Exception e) { + e.printStackTrace(); + } primaryStage.show(); //testing out dataset try { @@ -62,6 +72,30 @@ public class App extends Application } } + /** + * Replace Scene Content with fxml file code from oracle. + * @param fxml + * @return + * @throws Exception + */ + public Initializable replaceSceneContent(String fxml) throws Exception { + FXMLLoader loader = new FXMLLoader(); + InputStream in = getClass().getClassLoader().getResourceAsStream(fxml); + InputStream menuIn = getClass().getClassLoader().getResourceAsStream("menu.fxml"); + VBox page; + try { + page = (VBox) loader.load(menuIn); + Parent content = loader.load(getClass().getClassLoader().getResource(fxml)); + page.getChildren().add(content); + } finally { + in.close(); + } + Scene scene = new Scene(page, 800, 600); + primaryStage.setScene(scene); + primaryStage.sizeToScene(); + return (Initializable) loader.getController(); + } + public Dataset getCurrentDataset(){ return currentDataset; } diff --git a/src/main/java/seng202/group9/GUI/MainMenuBar.java b/src/main/java/seng202/group9/GUI/MainMenuBar.java deleted file mode 100644 index 489fdb7..0000000 --- a/src/main/java/seng202/group9/GUI/MainMenuBar.java +++ /dev/null @@ -1,25 +0,0 @@ -package seng202.group9.GUI; - -import javafx.fxml.FXMLLoader; -import javafx.scene.Parent; - -/** - * Main Menu Bar for the program - * @author YaFedImYaEatIm - * - */ -public class MainMenuBar{ - - final private String menuFXML = "menu.fxml"; - - public Parent getmenuBar(){ - try{ - Parent menuPane = FXMLLoader.load(getClass().getClassLoader().getResource(menuFXML)); - return menuPane; - }catch (Exception e){ - e.printStackTrace(); - } - return null; - } - -}