LinkedList удален в методах Action Handelers в JavaFX - PullRequest
0 голосов
/ 28 сентября 2019

Я работаю над приложением, которое имитирует онлайн-магазин для моего курса Data Structures. В настоящее время я использую JavaFX в Eclipse IDE и Scene Builder для дизайна графического интерфейса, однако я пытаюсь использовать Double LinkedList для хранения учетных записей.в окне входа в пользовательский интерфейс, но по какой-то причине каждый раз, когда я пытаюсь вставить новый объект Account (в методе Action Event) в мой список, он не вставляет его, по крайней мере, если я пытаюсь напечатать его toStringдает мне исключение нулевого указателя, но если метод вставки и println находится в методе запуска, работает.В прошлом году я использовал MP3-плеер с использованием JavaFX, но в Netbeans я не использовал Scene Builder, и список работал, кто-то знает, почему это происходит?

package com.javafx.quvbi.controller;

import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Node;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;

import javafx.stage.Stage;
import javafx.scene.input.MouseEvent;
import java.io.IOException;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
public class interfazController extends Application {

   @FXML
   private Button pausa, CreateAccBttn, LoginBttn;
   @FXML
   private TextField NameTF, AccountTF, PasswordTF, CardTF;

   //Data
   ListaDobleEnlazada<Account> accList;

   public static void main(String[] args) {
      launch(args);
   }

   @Override
   public void start(Stage primaryStage) throws Exception {
      // TODO Auto-generated method stub
      //NameTF = new TextField();
      //AccountTF = new TextField();
      //PasswordTF= new TextField();
      //CardTF = new TextField();
      accList = new ListaDobleEnlazada<Account>();
      //accList.insertarInicio(new Account("Diego","Qubi","22f24rf2",123321));

      Parent root = FXMLLoader.load(getClass().getResource("/view/OptionUI.fxml"));
      Scene scene = new Scene(root);
      primaryStage.setScene(scene);
      primaryStage.show();


      System.out.println(accList.toString());
   }

   public ListaDobleEnlazada<Account> getAccounts() {
      return accList;
   }

   @FXML
   public void controlMusica(ActionEvent event) {
      System.out.println("musica");
      System.out.println(getAccounts().getInicio().toString());

   }



   public void CreateAccClick(MouseEvent event) throws IOException {

      if(!NameTF.getText().isEmpty() && !AccountTF.getText().isEmpty() && !PasswordTF.getText().isEmpty() && !CardTF.getText().isEmpty()) {

         accList.insertarInicio(new Account(NameTF.getText(), AccountTF.getText(), PasswordTF.getText(), Integer.parseInt(CardTF.getText())));

      }




   }
   @SuppressWarnings("restriction")
   public void createAccount(ActionEvent event) throws IOException {
      if(!NameTF.getText().isEmpty() && !AccountTF.getText().isEmpty() && !PasswordTF.getText().isEmpty() && !CardTF.getText().isEmpty()) {
         Parent loginUI = FXMLLoader.load(getClass().getResource("/view/GUI2.fxml"));
         Scene logInScene = new Scene(loginUI);
         Stage window = (Stage)((Node)event.getSource()).getScene().getWindow();
         window.setScene(logInScene);
         window.show();
         System.out.println(NameTF.getText());
         System.out.println(AccountTF.getText());

         System.out.println(PasswordTF.getText());

         System.out.println(CardTF.getText());

         //this.accList.insertarInicio(new Account(NameTF.getText(), AccountTF.getText(), PasswordTF.getText(), Integer.parseInt(CardTF.getText())));

      }
   }

   public void loginAccount(ActionEvent event) throws IOException {

      Parent loginUI = FXMLLoader.load(getClass().getResource("/view/GUI2.fxml"));
      Scene logInScene = new Scene(loginUI);
      Stage window = (Stage)((Node)event.getSource()).getScene().getWindow();

      window.setScene(logInScene);
      window.show();

   }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...