Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [Java] AWT-EventQueue-0 NullPointerException

    Buongiorno,

    Sto facendo un programma di registrazione e log in in una semplice interfaccia grafica accedendo a un file "Dati.dat".
    Ho letto che l'errore "AWT-EventQueue-0" java.lang.NullPointerException, sorge alla chiamata di un metodo a un oggetto non ancora inizializzato.
    Praticamente succede questo: quando inserisco i dati (username,password,name,surname), creo un oggetto Registered acquisendo ciò che i JTextField contengono.
    Poi richiamo una funzione che sfruttando l'oggetto ObjectOutputStream li scrive nel file "Dati.dat"

    Scusate se non sono stato chiaro ...grazie per la lettura

    codice:
    bRegistration.addActionListener(new ActionListener(){
                    public void actionPerformed(ActionEvent e) {
                        if (pRegistration.getText().equals(rpRegistration.getText())) {
                            Registered person=new Registered (nRegistration.getText(),
                                                                sRegistration.getText(),
                                                                uRegistration.getText(),
                                                                pRegistration.getText());
                            
                            person.registration(person);
                        } else {
                            JFrame error=new JFrame ("Error");
                        }
                    }
                });
    
    public class Registered implements Serializable {
        private String name;
        private String surname;
        private String username;
        private String password;
        private FileOutputStream fout;
        private FileInputStream fin;
        private ObjectOutputStream oout;
        private ObjectInputStream oin;
        
        public Registered () {
            this.name="";
            this.surname="";
            this.username="";
            this.password="";
            
            try {
                fout=new FileOutputStream("Dati.dat");
                fin=new FileInputStream ("Dati.dat");
                
                oout=new ObjectOutputStream (fout);
                oin=new ObjectInputStream (fin);
            } catch (FileNotFoundException e) {
                JFrame error=new JFrame ("Error");
            } catch (IOException e) {
                JFrame error=new JFrame ("Error");
            }
        }
        
        public Registered (String name,String surname,String username,String password) {
            this.name=name;
            this.surname=surname;
            this.username=username;
            this.password=password;
        }
    public void registration (Registered person) {
            try {
                oout.writeObject(person);
            } catch (IOException e) {
                JFrame error=new JFrame ("Error");
                [...]
            }
        }

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [Java] AWT-EventQueue-0 NullPointerException

    Originariamente inviato da xxstykkyxx
    quando inserisco i dati (username,password,name,surname), creo un oggetto Registered acquisendo ciò che i JTextField contengono.
    Poi richiamo una funzione che sfruttando l'oggetto ObjectOutputStream li scrive nel file "Dati.dat"
    Registered ha 2 costruttori. Tu nel actionPerformed invochi quello con i 4 String. Quel costruttore non istanzia/inizializza gli stream.

    E comunque, ad essere pignoli, Registered è abbastanza inappropriata, sia tecnicamente sia anche proprio concettualmente. Fai una classe che "modella" l'utente e fai una classe che "sa" come scrivere quei dati. Punto.

    P.S. Oltre al fatto, di nuovo inappropriato, che Registered fa anche roba "grafica" con quel JFrame.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.