Как сохранить входные данные из графического интерфейса в ArrayList? - PullRequest
0 голосов
/ 31 марта 2019

Когда пользователь вводит имя и идентификатор транспортного средства и нажимает кнопку Добавить транспортное средство, вы создаете объект транспортного средства и сохраняете его в виде списка транспортных средств.

Как сохранить входные данные из графического интерфейса пользователя в массиве данных?

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();
    }
}

Ответы [ 3 ]

0 голосов
/ 31 марта 2019

Вам не хватает что-то вроде:

AddButton.setOnAction(e -> 
{    
   vehicle1.setVehicleId(VehicleID.getText());
   vehicle1.setVehicleName(VehicleNameF.getText());
});
0 голосов
/ 31 марта 2019

Во-первых, создайте массив для ваших объектов: Автомобили.

Для получения данных из графического интерфейса вам нужны прослушиватели событий:

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.
})

Это отвечает на ваш вопрос?

0 голосов
/ 31 марта 2019

Сначала вы должны создать:

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;
    }
}

Затем вы должны создать новый объект:

Vehicle vehicle1=new Vehicle();

В том месте, куда вы хотите добавить указанное значение

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

И список:

List<Vehicle> vehiclesList=new ArrayList<Vehicle>()
vehiclesList.add(vehicle1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...