From 1a3e330eb484c07cf8f726f1137f2f96ae1cdf0e Mon Sep 17 00:00:00 2001 From: William Muir Date: Mon, 10 Jul 2017 13:43:25 +1200 Subject: [PATCH] Created some basic UI for new start screen (host and connect) and a lobby tags: #story[1047] #pair[wmu16, zyt10] --- .../java/seng302/controllers/Controller.java | 2 +- .../seng302/controllers/LobbyController.java | 63 +++++++++++++++++++ .../controllers/StartScreen2Controller.java | 53 ++++++++++++++++ src/main/resources/views/LobbyView.fxml | 58 +++++++++++++++++ .../resources/views/StartScreen2View.fxml | 48 ++++++++++++++ 5 files changed, 223 insertions(+), 1 deletion(-) create mode 100644 src/main/java/seng302/controllers/LobbyController.java create mode 100644 src/main/java/seng302/controllers/StartScreen2Controller.java create mode 100644 src/main/resources/views/LobbyView.fxml create mode 100644 src/main/resources/views/StartScreen2View.fxml diff --git a/src/main/java/seng302/controllers/Controller.java b/src/main/java/seng302/controllers/Controller.java index 73b3766b..893ab467 100644 --- a/src/main/java/seng302/controllers/Controller.java +++ b/src/main/java/seng302/controllers/Controller.java @@ -33,7 +33,7 @@ public class Controller implements Initializable { @Override public void initialize(URL location, ResourceBundle resources) { contentPane.getStylesheets().add(getClass().getResource("/css/master.css").toString()); - setContentPane("/views/StartScreenView.fxml"); + setContentPane("/views/StartScreen2View.fxml"); StreamParser.boatLocations.clear(); } } diff --git a/src/main/java/seng302/controllers/LobbyController.java b/src/main/java/seng302/controllers/LobbyController.java new file mode 100644 index 00000000..358b137d --- /dev/null +++ b/src/main/java/seng302/controllers/LobbyController.java @@ -0,0 +1,63 @@ +package seng302.controllers; + +import javafx.fxml.FXML; +import javafx.fxml.FXMLLoader; +import javafx.scene.control.TableColumn; +import javafx.scene.control.TableView; +import javafx.scene.layout.AnchorPane; +import javafx.scene.layout.GridPane; +import javafx.scene.layout.Pane; +import javafx.scene.text.Text; + +import java.io.IOException; + +/** + * A class describing the actions of the lobby screen + * Created by wmu16 on 10/07/17. + */ +public class LobbyController { + + @FXML + private GridPane lobbyScreen; + @FXML + private Text lobbyIpText; + @FXML + private TableView lobbyTable; + @FXML + private TableColumn ipTableColumn; + @FXML + private TableColumn colourTableColumn; + @FXML + private TableColumn readyTableColumn; + + + private void setContentPane(String jfxUrl) { + try { + AnchorPane contentPane = (AnchorPane) lobbyScreen.getParent(); + contentPane.getChildren().removeAll(); + contentPane.getChildren().clear(); + contentPane.getStylesheets().add(getClass().getResource("/css/master.css").toString()); + contentPane.getChildren() + .addAll((Pane) FXMLLoader.load(getClass().getResource(jfxUrl))); + } catch (javafx.fxml.LoadException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + + @FXML + public void leaveLobbyButtonPressed() { + // TODO: 10/07/17 wmu16 - Finish function! + setContentPane("/views/StartScreen2View.fxml"); + System.out.println("Leaving lobby!"); + } + + + @FXML + public void readyButtonPressed() { + // TODO: 10/07/17 wmu16 - Finish function + System.out.println("LEts play!!"); + } +} diff --git a/src/main/java/seng302/controllers/StartScreen2Controller.java b/src/main/java/seng302/controllers/StartScreen2Controller.java new file mode 100644 index 00000000..6be8761d --- /dev/null +++ b/src/main/java/seng302/controllers/StartScreen2Controller.java @@ -0,0 +1,53 @@ +package seng302.controllers; + +import javafx.fxml.FXML; +import javafx.fxml.FXMLLoader; +import javafx.scene.control.TextField; +import javafx.scene.layout.AnchorPane; +import javafx.scene.layout.GridPane; +import javafx.scene.layout.Pane; + +import java.io.IOException; + +/** + * A Class describing the actions of the start screen controller + * Created by wmu16 on 10/07/17. + */ +public class StartScreen2Controller { + + + + @FXML + private TextField ipTextField; + @FXML + private GridPane startScreen2; + + + private void setContentPane(String jfxUrl) { + try { + AnchorPane contentPane = (AnchorPane) startScreen2.getParent(); + contentPane.getChildren().removeAll(); + contentPane.getChildren().clear(); + contentPane.getStylesheets().add(getClass().getResource("/css/master.css").toString()); + contentPane.getChildren() + .addAll((Pane) FXMLLoader.load(getClass().getResource(jfxUrl))); + } catch (javafx.fxml.LoadException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + @FXML + public void hostButtonPressed() { + setContentPane("/views/LobbyView.fxml"); + } + + + @FXML + public void connectButtonPressed() { + // TODO: 10/07/17 wmu16 - Finish function + + System.out.println("connecting to: " + ipTextField.getText()); + } +} diff --git a/src/main/resources/views/LobbyView.fxml b/src/main/resources/views/LobbyView.fxml new file mode 100644 index 00000000..cd47836f --- /dev/null +++ b/src/main/resources/views/LobbyView.fxml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +