From 12a9205ded303078c1783cacba73bf27f8434313 Mon Sep 17 00:00:00 2001 From: Fan-Wu Yang Date: Mon, 20 Mar 2017 16:11:02 +1300 Subject: [PATCH] Implemented Table Refresh Function - Made refreshTable() in RaceController that refresh the boatInfoTable - Made checkPosition() in Race call controller.refreshTable() - Result is that the table now updates #story [15] --- src/main/java/seng302/Controllers/RaceController.java | 11 +++++++---- src/main/java/seng302/Model/Race.java | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/java/seng302/Controllers/RaceController.java b/src/main/java/seng302/Controllers/RaceController.java index 00731eac..184ceb82 100644 --- a/src/main/java/seng302/Controllers/RaceController.java +++ b/src/main/java/seng302/Controllers/RaceController.java @@ -2,7 +2,6 @@ package seng302.Controllers; import javafx.beans.property.ReadOnlyObjectWrapper; -import javafx.beans.property.StringProperty; import javafx.beans.value.ObservableValue; import javafx.collections.FXCollections; import javafx.collections.ObservableList; @@ -40,7 +39,7 @@ public class RaceController extends Controller{ Label timer; @FXML - TableView boatInfoTable; + TableView boatInfoTable; @FXML TableColumn boatPlacingColumn; @FXML @@ -65,7 +64,7 @@ public class RaceController extends Controller{ * @param race Race to listen to. */ public void updateInfoTable(Race race) { - boatInfoTable.getItems().clear(); + //boatInfoTable.getItems().clear(); boatInfoTable.setItems(race.getStartingBoats()); boatTeamColumn.setCellValueFactory(new PropertyValueFactory("Name")); @@ -78,6 +77,10 @@ public class RaceController extends Controller{ }); } + public void refreshTable(){ + boatInfoTable.refresh(); + } + @Override public void initialize(URL location, ResourceBundle resources) { @@ -119,7 +122,7 @@ public class RaceController extends Controller{ boat1.setColour(Color.DARKVIOLET); boat1.setCurrentPosition(new GPSCoordinate(0, 0)); - BoatInRace boat2 = new BoatInRace("TEST", 400); + BoatInRace boat2 = new BoatInRace("TEST", 300); boat2.setColour(Color.DARKRED); boat2.setCurrentPosition(new GPSCoordinate(0, 0)); diff --git a/src/main/java/seng302/Model/Race.java b/src/main/java/seng302/Model/Race.java index 47343dfb..b4f35a77 100644 --- a/src/main/java/seng302/Model/Race.java +++ b/src/main/java/seng302/Model/Race.java @@ -135,7 +135,6 @@ public abstract class Race implements Runnable { */ protected void checkPosition(BoatInRace boat, long timeElapsed) { if (boat.getDistanceTravelledInLeg() > boat.getCurrentLeg().getDistance()){ - //updateController(); removed as we do not update the table every time anymore. //boat has passed onto new leg if (boat.getCurrentLeg().getName().equals("Finish")) { //boat has finished @@ -147,6 +146,7 @@ public abstract class Race implements Runnable { boat.setCurrentLeg(nextLeg); boat.setDistanceTravelledInLeg(boat.getDistanceTravelledInLeg()); } + controller.refreshTable(); } }