简体   繁体   English

如何将GUI中的输入数据存储到ArrayList中?

[英]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. 一旦用户输入车辆名称和Id并单击添加车辆,您将创建车辆对象并将其存储为车辆的阵列列表。

How to store input data from GUI into arraylist? 如何将GUI中的输入数据存储到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. 首先,为您的对象创建一个数组:Vehicules。

For getting the data from GUI, you need event listeners : 要从GUI获取数据,您需要事件侦听器:

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 ? 这回答了你的问题了吗 ?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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