Question: JavaFX program : How to load the Building items in ListView incorporating the Building items in Building.java (for instance, using the getBuilding(indices)). 1.) BuildingListView.java import

JavaFX program: How to load the Building items in ListView incorporating the Building items in Building.java (for instance, using the getBuilding(indices)).

1.) BuildingListView.java

import javafx.application.Application; import javafx.geometry.Insets; import javafx.geometry.Orientation; import javafx.scene.control.Label; import javafx.stage.Stage; import javafx.collections.FXCollections; import javafx.scene.Scene; import javafx.scene.control.ListView; import javafx.scene.control.ScrollPane; import javafx.scene.control.SelectionMode; import javafx.scene.image.ImageView; import javafx.scene.layout.BorderPane; import javafx.scene.layout.FlowPane; import java.io.FileNotFoundException; public class BuildingListView extends Application { // Declare an array private String[] buildingCampus = {"Davis_Hall", "Applied_Technologies", "James_Williams_Hall", "Emergency_REsponder_Training", "Public_Safety", "Cline_Observatory", "Auto_Body", "Science_Hall" }; // Declare an ImageView array private ImageView[] ImageViews = { new ImageView("dh_ext_side.png"), new ImageView("at_ext_back.png"), new ImageView("jwh_ext_court_door.png"), new ImageView("etrc1_ext.png"), new ImageView("ps_ext_lot.png"), new ImageView("co_ext_front.png"), new ImageView("autobody_ext_bays.png"), new ImageView("sh_ext_front.png"), }; @Override public void start(Stage primaryStage) throws FileNotFoundException { ListView lv = new ListView<> (FXCollections.observableArrayList(buildingCampus) ); lv.setMaxSize(200, 250); lv.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); lv.setOrientation(Orientation.VERTICAL); BorderPane.setMargin(lv, new Insets(20));

HOW TO LOAD THE BUILDING ITEMS IN LISTVIEW INCORPORATING THE BUILDING ITEMS IN Building.java (for instance, using the getBuilding(indices)) // create a pane FlowPane imagePane = new FlowPane(10, 10); BorderPane pane = new BorderPane(); pane.setLeft(lv); pane.setCenter(imagePane); lv.getSelectionModel().selectedItemProperty().addListener( ov -> { imagePane.getChildren().clear(); for (Integer i: lv.getSelectionModel().getSelectedIndices()){ imagePane.getChildren().add(ImageViews[i]); } }); // Create scene Scene scene = new Scene(pane, 450, 170); primaryStage.setTitle("Jamestown Campus"); primaryStage.setScene(scene); primaryStage.show(); } }

2.) Building.java

import java.io.*; import java.nio.file.FileSystemNotFoundException; import java.io.FileNotFoundException; import java.util.Scanner; import java.util.ArrayList; public class Building { // attributes public static ArrayList bldg = new ArrayList<>(); private String campus; private String name; private Coordinate coordinate; private String imageName; private String buildingCode; // constructors public Building(String campus, String name, float latitude, float longitude, String imageName, String buildingCode) { this.campus = campus; this.name = name; try{ setCoordinate(new Coordinate (latitude, longitude)); } catch (Exception e){ } this.imageName = imageName; this.buildingCode = buildingCode; } // getters and setters public Coordinate getCoordinate() { return coordinate; } public void setCoordinate(Coordinate coordinate) { this.coordinate = coordinate; } public String getCampus() { return campus; } public void setCampus(String campus) { this.campus = campus; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getImageName() { return imageName; } public void setImageName(String imageName) { this.imageName = imageName; } public String getBuildingCode() { return buildingCode; } public void setBuildingCode(String buildingCode) { this.buildingCode = buildingCode; } // toString override @Override public String toString() { return "Building{" + "campus='" + campus + '\'' + ", name='" + name + '\'' + ", coordinate=" + coordinate + ", imageName='" + imageName + '\'' + ", buildingCode='" + buildingCode + '\'' + '}'; } public static Building getBuilding(int indices ){ return bldg.get(indices); } public static void load() throws FileNotFoundException { // declare variables String campus, name, imageName, buildingCode; float latitude, longitude; // file contains building data File fileInput = new File("src/Building.txt"); // create scanner for reading data Scanner sc = new Scanner(fileInput); // reading file line by line while (sc.hasNextLine()) { campus = sc.next(); name = sc.next(); latitude = sc.nextFloat(); longitude = sc.nextFloat(); imageName = sc.next(); buildingCode = sc.next(); // create a building object Building building = new Building(campus, name,latitude, longitude, imageName, buildingCode); // add building object to array list bldg.add(building); } // close the scanner sc.close(); } }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!