JavaFX应用程序线程"显示java.lang.NullPointerException

时间:2015-06-17 17:27:14

标签: java eclipse javafx

当我点击" btnRicerca"按钮,它自从调用前端控制器后工作。我说过JavaFX类型的所有对象,但它也不起作用。

 package controller_interfaccia;

import indici.IndiceRichieste;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.ResourceBundle;

import javax.swing.JOptionPane;

import application.Main;
import check.CheckSede;
import check.CheckString;
import check.TableGraphics;
import entity.Sessione;
import presentazione.FrontController;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Label;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.input.MouseEvent;
import javafx.util.Callback;



public class ModificaVeicoloController implements Initializable {
    @FXML
    private Label lblNomeDirettore;
    @FXML
    private TextField txtRicercaVeicolo;
    @FXML
    Button btnRicerca;
    @FXML
    private Button btnConferma;
    @FXML
    private TableView tableReserch;
    @FXML
    private TextField txtTarga;
    @FXML
    private TextField txtNome;
    @FXML
    private TextField txtChilometri;
    @FXML
    private TextField txtImmatricolazione;
    @FXML
    private ComboBox comboSede;
    @FXML
    private ComboBox comboStato;
    @FXML
    private ComboBox comboCategoria;
    @FXML
    private ComboBox comboAlimentazione;
    @FXML
    private ComboBox comboPorte;
    @FXML
    private Button btnAggiornaDati;
    @FXML
    private Label lblTarga;
    @FXML
    private Label lblNome;
    @FXML
    private Label lblChilometri;
    @FXML
    private Label lblImmatricolazione;
    @FXML
    private Label lblSede;
    @FXML
    private Label lblStato;
    @FXML
    private Label lblCategoria;
    @FXML
    private Label lblAlimentazione;
    @FXML
    private Label lblPorte;
    @FXML
    private Label lblLogout;

    FrontController fc;
    ArrayList<Object> parametri;

    private void setLogoutLabel() {
        this.lblLogout.setOnMouseClicked(new EventHandler<MouseEvent>() {
            @Override
            public void handle(MouseEvent arg0) {
                // TODO Auto-generated method stub
                login();
            }

        });
    }

    private void login() {
        fc = fc.getInstance();
        Main.Stage2.close();
        fc.processRequest(IndiceRichieste.start, null);

    }

    private void setInvisible() {
        txtChilometri.setVisible(false);
        txtImmatricolazione.setVisible(false);
        txtNome.setVisible(false);
        txtTarga.setVisible(false);
        btnAggiornaDati.setVisible(false);
        comboAlimentazione.setVisible(false);
        comboCategoria.setVisible(false);
        comboPorte.setVisible(false);
        comboSede.setVisible(false);
        comboStato.setVisible(false);
        lblAlimentazione.setVisible(false);
        lblCategoria.setVisible(false);
        lblChilometri.setVisible(false);
        lblImmatricolazione.setVisible(false);
        lblNome.setVisible(false);
        lblPorte.setVisible(false);
        lblSede.setVisible(false);
        lblStato.setVisible(false);
        lblTarga.setVisible(false);
    }

    private void setRicercaVeicoloButton() {
        this.btnRicerca.setOnMouseClicked(new EventHandler<MouseEvent>() {
            public void handle(MouseEvent event) {
                cercaVeicolo();
            }

        });
    }

    private void cercaVeicolo() {
        String targaRicerca = txtRicercaVeicolo.getText();
//      checkTarga(targaRicerca);
        parametri = new ArrayList<Object>();
        parametri.add(targaRicerca);

        fc.getInstance();
        fc.processRequest(IndiceRichieste.ricercaVeicolo, parametri);
    }


    @Override
    public void initialize(URL location, ResourceBundle resources) {
        // TODO Auto-generated method stub
        setLogoutLabel();
        setInvisible();
        setRicercaVeicoloButton();
        lblNomeDirettore.setText(Sessione.getNome() + " " + Sessione.getCognome());
    }
}

这是控制台响应

Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
at controller_interfaccia.ModificaVeicoloController.cercaVeicolo(ModificaVeicoloController.java:149)
at controller_interfaccia.ModificaVeicoloController.access$1(ModificaVeicoloController.java:142)
at controller_interfaccia.ModificaVeicoloController$2.handle(ModificaVeicoloController.java:136)
at controller_interfaccia.ModificaVeicoloController$2.handle(ModificaVeicoloController.java:1)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
at com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
at com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
at javafx.event.Event.fireEvent(Unknown Source)
at javafx.scene.Scene$ClickGenerator.postProcess(Unknown Source)
at javafx.scene.Scene$ClickGenerator.access$8100(Unknown Source)
at javafx.scene.Scene$MouseHandler.process(Unknown Source)
at javafx.scene.Scene$MouseHandler.access$1500(Unknown Source)
at javafx.scene.Scene.impl_processMouseEvent(Unknown Source)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Unknown Source)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$350(Unknown Source)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$$Lambda$153/304741483.get(Unknown Source)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(Unknown Source)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(Unknown Source)
at com.sun.glass.ui.View.handleMouseEvent(Unknown Source)
at com.sun.glass.ui.View.notifyMouse(Unknown Source)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$145(Unknown Source)
at com.sun.glass.ui.win.WinApplication$$Lambda$36/2117255219.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

我该如何解决?谢谢!

0 个答案:

没有答案