From 986e22bf1e271e39373f6a3028e8e739bd341c1f Mon Sep 17 00:00:00 2001 From: YaFedImYaEatIm Date: Sat, 1 Oct 2016 18:16:16 +1300 Subject: [PATCH] Moved Add Listeners to Initilisation function to prevent 500000000000 stacks of listeners --- .../group9/GUI/FlightRDController.java | 37 +++++++++---------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/src/main/java/seng202/group9/GUI/FlightRDController.java b/src/main/java/seng202/group9/GUI/FlightRDController.java index 44d78a3..ed61468 100644 --- a/src/main/java/seng202/group9/GUI/FlightRDController.java +++ b/src/main/java/seng202/group9/GUI/FlightRDController.java @@ -92,25 +92,6 @@ public class FlightRDController extends Controller { flightList.add(flightPathDisplayName); } - flightPathListView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener(){ - public void changed(ObservableValue observable, String oldValue, String newValue) { - String flightPathDisplayNameClicked = flightPathListView.getSelectionModel().getSelectedItem(); - if (flightPathDisplayNameClicked!=null) { - String[] segments = flightPathDisplayNameClicked.split("_"); - String pathIdClicked = segments[0]; - - currentPathIndex = theDataSet.getFlightPaths().indexOf(theDataSet.getFlightPathDictionary() - .get(Integer.parseInt(pathIdClicked))); - currentPathId = Integer.parseInt(pathIdClicked); - - ArrayList flightPaths; - flightPaths = theDataSet.getFlightPaths(); - ArrayList flightPoints = flightPaths.get(currentPathIndex).getFlight(); - flightTableView.setItems(FXCollections.observableArrayList(flightPoints)); - } - } - }); - flightPathListView.setItems(flightList); } catch (Exception e) { e.printStackTrace(); @@ -147,6 +128,24 @@ public class FlightRDController extends Controller { System.out.println("There is no Paths to show"); } } + flightPathListView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener(){ + public void changed(ObservableValue observable, String oldValue, String newValue) { + String flightPathDisplayNameClicked = flightPathListView.getSelectionModel().getSelectedItem(); + if (flightPathDisplayNameClicked!=null) { + String[] segments = flightPathDisplayNameClicked.split("_"); + String pathIdClicked = segments[0]; + + currentPathIndex = theDataSet.getFlightPaths().indexOf(theDataSet.getFlightPathDictionary() + .get(Integer.parseInt(pathIdClicked))); + currentPathId = Integer.parseInt(pathIdClicked); + + ArrayList flightPaths; + flightPaths = theDataSet.getFlightPaths(); + ArrayList flightPoints = flightPaths.get(currentPathIndex).getFlight(); + flightTableView.setItems(FXCollections.observableArrayList(flightPoints)); + } + } + }); } /**