Come mai java.lang.NullPointerException?

di il
31 risposte

31 Risposte - Pagina 2

  • Re: Come mai java.lang.NullPointerException?

    Come volevasi dimostrare non hai istanziato la classe Applicazione, neanche in Vista, percui il metodo
    getApplicazione()
    restituisce
    applicazione
    che è null.

    Ora non so dove dovresti istanziare Applicazione, in quanto ogni classe, ogni singola classe dipende dalle altre.
    Così, a naso, mi verrebbe da istanziare applicazione nella classe Vista per come hai strutturato il sistema...

    EDIT:
    Rivedendo la classe Vista, passi un oggetto Applicazione al costruttore. Quindi dovresti istanziare la classe Applicazione prima di istanziare Vista. Dove istanzi Vista?
  • Re: Come mai java.lang.NullPointerException?

    Viene istanziata nella classe applicazione con questa sintatti

    this.vista = new Vista(this, modello);
  • Re: Come mai java.lang.NullPointerException?

    Però Applicazione non è istanziata da nessuna parte.
  • Re: Come mai java.lang.NullPointerException?

    Applicazione è istanziata nella classe Applicazione nel metodo main con questa sintassi

    Applicazione applicazione; = new Applicazione();
  • Re: Come mai java.lang.NullPointerException?

    Ok, non l'avevo visto.
    Prova ha scrivere il metodo getBean() di Modello così:
    public Object getBean ( String chiave ) {
        Object o=this.mappaBean.get(chiave);
        if(o==null) System.out.println("GET_BEAN RESTITUISCE NULL");
        return o;
    }
    EDIT:
    Forse ho trovato la soluzione.

    Nella classe AzioneTrova c'è questo errore di battitura.
    public AzioneTrova(Applicazione applicazioen) {
            this.applicazione = applicazione;
    qui è come se stessi scrivendo this.applicazione=this.applicazione che è null.

    correggi il nome del parametro
  • Re: Come mai java.lang.NullPointerException?

    Ho correto il parametro nell' AzioneTrova ma nulla, modificando il metodo getBean come hai scritto tu mi restituisce appunto GET BEAN RESTITUISCE NULL
  • Re: Come mai java.lang.NullPointerException?

    Questo perchè in mappaBean di Modello non c'è nessun Supermercato.
    Ci dovrebbe essere da qualche parte una riga di codice del genere:
    modello.addBean(Costanti.SUPERMERCATO, new SuperMercato(...);
  • Re: Come mai java.lang.NullPointerException?

    In realtà io carico i dati del supermercato dalla persistenza e li faccio supermercato a = new Supermercato(), ed infatti quando entro con le credenziali di un supermercato mi esce scritto tutto, nome, città, indirizzo ecc..
  • Re: Come mai java.lang.NullPointerException?

    Nell'actionPerformed(), come prima istruzione, fuori dal blocco try...catch, scrivi:
    if(applicazione == null) {
        System.out.println("APPLICAZIONE E' NULL);
    }
  • Re: Come mai java.lang.NullPointerException?

    Ho provato quello che mi hai detto, nel modello ho lasciato il metodo

    public Object getBean ( String chiave ) {
    Object o=this.mappaBean.get(chiave);
    if(o==null) System.out.println("GET_BEAN RESTITUISCE NULL");
    return o;
    }

    mentre nell'action performed ho scritto l'instruzione

    if(applicazione == null) {
    System.out.println("APPLICAZIONE E' NULL);
    }

    quando chiamo l'azione tramite pulsante mi restituisce solo

    GET_BEAN RESTITUISCE NULL
  • Re: Come mai java.lang.NullPointerException?

    Ok, quindi significa che i dati non vengono caricati nella mappa, cioè come ho scritto prima
    in mappaBean non viene aggiunta nessuna coppia <Costanti.SUPERMERCATO, new SuperMercato()>.

    A questo punto portrebbe essere un problema di persistenza.
  • Re: Come mai java.lang.NullPointerException?

    Risolto, ora l'unica cosa che non funziona è crea nuovo scontrino.
  • Re: Come mai java.lang.NullPointerException?

    Il ClassCastException viene sollevato perchè stai cercando di fare il casting da Scontrino a ArrayList che ,a meno che Scontrino non sia un ArrayList, non è possibile.

    Ma l'errore che ti dà è uguale a quello che hai postato inizialmente? Perchè la prima volta che hai postato l'errore this.applicazione era null (tant'è che ti ho fatto stampare this.applicazione e ti restituiva null).

    Riposta l'errore con tutti i dettagli e la riga dell'errore, cerca di scrivere ogni istruzione separatemente, cioè non fare chiamate concatenate.
  • Re: Come mai java.lang.NullPointerException?

    Come detto ora ho solo due java.lang.NullPointerException, uno quando provo a creare un nuovo scontrino ed un altro quando provo ad aggiungere un prodotto allo scontrino.

    P.s. come faccio per svuotare la lista dei prodotti presenti nel Supermercato quando faccio il logout?
  • Re: Come mai java.lang.NullPointerException?

    Riposta i dettagli dei due errori scrivendo come ti ho suggerito.
Devi accedere o registrarti per scrivere nel forum
31 risposte