简体   繁体   中英

How to store input data from GUI into ArrayList?

Once the user enter vehicle name and Id and clicks Add Vehicle, you create a vehicle object and store it an an array list of vehicles.

How to store input data from GUI into arraylist?

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;

public class Main extends Application {
    public static void main(String[] args) {
        Application.launch(args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception {
        GridPane gridPane = new GridPane();

        Label VehicleName = new Label("Vehicle Name ");
        TextField VehicleNameF = new TextField();

        Label Vehicle_ID = new Label("Vehicle ID");
        TextField VehicleID = new TextField();

        Button AddButton = new Button("Add Vehicle");
        gridPane.setHgap(15);
        gridPane.setVgap(15);
        gridPane.add(VehicleName, 0, 0);
        gridPane.add(Vehicle_ID, 0, 1);
        gridPane.add(VehicleNameF, 1, 0);
        gridPane.add(VehicleID, 1, 1);
        gridPane.add(AddButton, 1, 2, 2, 1);

        Scene scene = new Scene(gridPane, 300, 150);
        primaryStage.setScene(scene);
        primaryStage.show();
    }
}

Firstly you must create:

class Vehicle {
    long vehicleId;
    String vehicleName;
    Vehicle(){
    }
    void setVehicleId(long vehicleID){
       this.vehicleId=vehicleID;
    } 
    long getVehicleId(){
        return vehicleId;
    }
    void setVehicleName(vehicleName){
        this.vehicleName=vehicleName;
    }
    String getVehicleName(){
        return vehicleName;
    }
}

Next you must create new Object:

Vehicle vehicle1=new Vehicle();

In the place where you want to add specified value

vehicle1.setVehicleName(Vehicle name-variable got from swing);
vehicle1.setVehicleId(Vehicle id-variable got from swing);

And the list:

List<Vehicle> vehiclesList=new ArrayList<Vehicle>()
vehiclesList.add(vehicle1);

You're missing something like:

AddButton.setOnAction(e -> 
{    
   vehicle1.setVehicleId(VehicleID.getText());
   vehicle1.setVehicleName(VehicleNameF.getText());
});

First, create an array for your objects : Vehicules.

For getting the data from GUI, you need event listeners :

AddButton.setOnAction(e -> 
{  
 Vehicule vehicule = new Vehicule();  
 vehicle.setVehicleId(VehicleID.getText());
 vehicle.setVehicleName(VehicleNameF.getText());
 Vehicules.add(vehicule);
 //Vehicules is the array where you put all your objects.
})

Does this answer your question ?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM