Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void launch () {
- Stage viewCars = new Stage();
- viewCars.setTitle("View All Cars");
- GridPane mainFrame = new GridPane();
- // Stores the input fields.
- GridPane input = new GridPane();
- numPlate= new TextField();
- numPlate.setOnAction(e -> search());
- numPlate.setPromptText("Number Plate");
- input.add(numPlate, 0, 0);
- model = new TextField();
- model.setOnAction(e -> search());
- model.setPromptText("Model");
- input.add(model, 1, 0);
- vehType = new TextField();
- vehType.setOnAction(e -> search());
- vehType.setPromptText("Vehicle Type");
- input.add(vehType, 2, 0);
- colour = new TextField();
- colour.setOnAction(e -> search());
- colour.setPromptText("Colour");
- input.add(colour, 3, 0);
- mileage = new TextField();
- mileage.setOnAction(e -> search());
- mileage.setPromptText("Mileage");
- input.add(mileage, 4, 0);
- accidentHistory = new TextField();
- accidentHistory.setOnAction(e -> search());
- accidentHistory.setPromptText("Accident History");
- input.add(accidentHistory, 5, 0);
- transmission = new ComboBox<>();
- transmission.setOnAction(e -> search());
- transmission.getItems().add("Either");
- transmission.getSelectionModel().selectFirst();
- transmission.getItems().add("Automatic");
- transmission.getItems().add("Manual");
- input.add(transmission, 6, 0);
- price = new TextField();
- price.setOnAction(e -> search());
- price.setPromptText("Price");
- input.add(price, 7, 0);
- bodyType = new TextField();
- bodyType.setOnAction(e -> search());
- bodyType.setPromptText("Body Type");
- input.add(bodyType, 0, 1);
- numDoors = new TextField();
- numDoors.setOnAction(e -> search());
- numDoors.setPromptText("Number Of Seats");
- input.add(numDoors, 1, 1);
- minimumSeats = new TextField();
- minimumSeats.setOnAction(e -> search());
- minimumSeats.setPromptText("Minimum Seats");
- input.add(minimumSeats, 2, 1);
- maximumSeats = new TextField();
- maximumSeats.setOnAction(e -> search());
- maximumSeats.setPromptText("Maximum Seats");
- input.add(maximumSeats, 3, 1);
- specialSearch = new ComboBox<>();
- specialSearch.setOnAction(e -> search());
- specialSearch.getItems().add("Cars and Vans");
- specialSearch.getItems().add("Cars Only");
- specialSearch.getSelectionModel().selectFirst();
- // Add all different types of attributes to the dropdown.
- List<String> listOfSpecialAttributes = new ArrayList<>();
- for (TypeOfVehicle typeOfVehicle : TypeOfVehicle.getVehicle()) {
- if (!typeOfVehicle.getSpecialAttribute().isEmpty()) {
- listOfSpecialAttributes.add(typeOfVehicle.getSpecialAttribute());
- }
- }
- // Get rid of duplicates by converting to a set.
- Set<String> uniqueSpecialAttributes = new HashSet<>(listOfSpecialAttributes);
- specialSearch.getItems().addAll(uniqueSpecialAttributes);
- input.add(specialSearch, 4, 1);
- // Stores the results of the search.
- carGrid = new GridPane();
- mainFrame.add(input, 0,0);
- mainFrame.add(carGrid, 0, 1);
- carSearch = new ArrayList<>();
- search();
- viewCars.setScene(new Scene(mainFrame, 900, 1200));
- viewCars.show();
- }
- private void search () {
- // Get all information from text boxes.
- String vehReg = numPlate.getText();
- String vehModel = model.getText();
- String vehT = vehType.getText();
- String vehColour = colour.getText();
- String vehMileage = mileage.getText();
- String vehAccHistory = accidentHistory.getText();
- String vehTransmission = transmission.getSelectionModel().getSelectedItem();
- if (vehTransmission.equals("Either")) vehTransmission = "";
- String vehPrice = price.getText();
- String bodyT = bodyType.getText();
- String numDoor = numDoors.getText();
- String special = specialSearch.getSelectionModel().getSelectedItem();
- if (special.equals("Cars and Vans")) special = "";
- boolean searchOnlyNormal = false;
- if (special.equals("Cars Only")) {
- searchOnlyNormal = true;
- special = "";
- }
- String minSeatsT = minimumSeats.getText();
- String maxSeatsT = maximumSeats.getText();
- // Default seats to minimum and maximum possible values.
- int minSeats = Integer.MIN_VALUE;
- int maxSeats = Integer.MAX_VALUE;
- // If a value is entered, convert it into a integer.
- if (!minSeatsT.isEmpty()) {
- minSeats = Integer.parseInt(minSeatsT);
- }
- if (!maxSeatsT.isEmpty()) {
- maxSeats = Integer.parseInt(maxSeatsT);
- }
- // Remove the previous search results from the grid.
- for (Node node : carSearch) {
- carGrid.getChildren().remove(node);
- }
- // Headers.
- System.out.println("got to labels");
- Label numberPlateHead = new Label("Number Plate: ");
- Label modelHead = new Label("Model: ");
- Label colourHead = new Label("Colour: ");
- Label mileageHead = new Label("Mileage: ");
- Label accHistoryHead = new Label("Accident History: ");
- Label tTypeHead = new Label("Transmission Type: ");
- Label priceHead = new Label("Price: ");
- // For everyone
- Label arrivalDateHead = new Label("Arrival Date: ");
- Label sellingDateHead = new Label("Selling Date: ");
- carGrid.add(numberPlateHead, 0, 0);
- carGrid.add(modelHead, 1, 0);
- carGrid.add(colourHead, 2, 0);
- carGrid.add(mileageHead, 3, 0);
- carGrid.add(accHistoryHead, 4, 0);
- carGrid.add(tTypeHead, 5, 0);
- carGrid.add(priceHead, 6, 0);
- carGrid.add(arrivalDateHead, 9, 0);
- carGrid.add(sellingDateHead, 10, 0);
- int row = 1;
- boolean continueSearch;
- // Loop through all pets in memory.
- for (Car car : Car.getCar()) {
- continueSearch = false;
- // If all the searches are successful.
- if (car.search(vehReg) && car.search(vehModel) && car.search(vehT) && car.search(vehColour)
- && car.search(vehMileage) && car.search(vehAccHistory)&& car.search(vehTransmission) && car.search(vehPrice) && car.search(bodyT) && car.search(numDoor)
- && car.seatsBetween(minSeats, maxSeats) && car.search(special)) {
- if (searchOnlyNormal) {
- if (!car.getTypeOfVehicle().isSpecial) {
- continueSearch = true;
- }
- }
- else {
- continueSearch = true;
- }
- if (continueSearch) {
- // Make the labels.
- Label numberPlateLabel = new Label(car.getNumberPlate());
- Label modelLabel = new Label(car.getModel());
- Label colourLabel = new Label(car.getColour());
- Label mileageLabel = new Label(car.getMileage());
- Label accHistoryLabel = new Label(car.getAccidentHistory());
- Label tTypeLabel = new Label(car.getTransmissionType());
- Label priceLabel = new Label(String.format("%.2f", car.getPrice()));
- // normal labels
- Label arrivalDateLabel = new Label(car.getArrivalDate());
- Node sellDateNode;
- if (car.getSoldDate().equals("")) {
- sellDateNode = new Button("Sell Car:");
- ((Button) sellDateNode).setOnAction(e -> sellCar(car));
- } else {
- sellDateNode = new Label(car.getSoldDate());
- }
- // Place the labels
- carGrid.add(numberPlateLabel, 0, row);
- carGrid.add(modelLabel, 1, row);
- carGrid.add(colourLabel, 2, row);
- carGrid.add(mileageLabel, 3, row);
- carGrid.add(accHistoryLabel, 4, row);
- carGrid.add(tTypeLabel, 5, row);
- carGrid.add(priceLabel, 6, row);
- carGrid.add(arrivalDateLabel, 9, row);
- carGrid.add(sellDateNode, 10, row);
- // Create reference so we can remove them later.
- carSearch.add(numberPlateLabel);
- carSearch.add(modelLabel);
- carSearch.add(colourLabel);
- carSearch.add(mileageLabel);
- carSearch.add(accHistoryLabel);
- carSearch.add(tTypeLabel);
- carSearch.add(priceLabel);
- carSearch.add(arrivalDateLabel);
- carSearch.add(sellDateNode);
- row = row + 1;
- }
- }
- }
- }
- void sellCar (Car car) {
- car.soldInfo();
- search();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement