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

    JAVA: mi da questo errore nella finestra del DOS.?

    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at Scuola.insertAlunno(Scuola.java:21)
    at GUIscuola.actionPerformed(GUIscuola.java…
    at java.awt.Button.processActionEvent(Butto…
    at java.awt.Button.processEvent(Button.java…
    at java.awt.Component.dispatchEventImpl(Com…
    at java.awt.Component.dispatchEvent(Compone…
    at java.awt.EventQueue.dispatchEventImpl(Ev…
    at java.awt.EventQueue.access$000(EventQueu…
    at java.awt.EventQueue$1.run(EventQueue.jav…
    at java.awt.EventQueue$1.run(EventQueue.jav…
    at java.security.AccessController.doPrivile… Method)
    at java.security.AccessControlContext$1.doI…
    ntrolContext.java:87)
    at java.security.AccessControlContext$1.doI…
    ntrolContext.java:98)
    at java.awt.EventQueue$2.run(EventQueue.jav…
    at java.awt.EventQueue$2.run(EventQueue.jav…
    at java.security.AccessController.doPrivile… Method)
    at java.security.AccessControlContext$1.doI…
    ntrolContext.java:87)
    at java.awt.EventQueue.dispatchEvent(EventQ…
    at java.awt.EventDispatchThread.pumpOneEven…
    ad.java:269)
    at java.awt.EventDispatchThread.pumpEventsF…
    java:184)
    at java.awt.EventDispatchThread.pumpEventsF…
    ad.java:174)
    at java.awt.EventDispatchThread.pumpEvents(…

    at java.awt.EventDispatchThread.pumpEvents(…

    at java.awt.EventDispatchThread.run(EventDi…



    Premetto che sto realizzando un'interfaccia grafica. Quando premo un bottone che permette d'inserire dei dati in un array dinamico, mi da questi errori. VI PREGO AIUTATEMI GRAZIE MILLE

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    a meno di diventare veggenti, non sappiamo cosa succede nel tuo pc!!!!

    allora NullPointerException, alquanto parlante (qualcosa vale null), e ti dice anche la riga

    codice:
    at Scuola.insertAlunno(Scuola.java:21)
    cosa fai Scuola.java alla riga 21??

    sicuro di aver inizializzato tutto?

    Impara anche a leggere i messaggi del compilatore java (molto chiaro tra l'altro)
    RTFM Read That F*** Manual!!!

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Lo stackTrace (ovvero, ciò che hai postato) ti dice esattamente cosa c'è che non va.

    Cosa: NullPointerException; stai cercando di usare un oggetto che è nullo.
    Dove: Scuola.java:21; nel file Scuola.java, alla riga 21.

    Siccome non hai postato il codice, non possiamo sapere cosa sia... ma con le indicazioni che ti ho dato (che sono appunto leggibili nello stackTrace) dovresti facilmente trovarlo.

    In quella riga stai usando un oggetto, ma tale oggetto non è mai stato inizializzato (non c'è nessuna new di quell'oggetto o non c'è alcuna assegnazione di un oggetto istanziato).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.Label.*;
    import java.io.*;
    import java.lang.*;


    public class GUIscuola extends Frame implements ActionListener
    {
    Scuola scu=new Scuola();
    ScuolaD scuD=new ScuolaD();

    private Label co=new Label("Cognome:",Label.LEFT);
    TextField cognome=new TextField(30);
    private Label no=new Label("Nome:",Label.LEFT);
    TextField nome=new TextField(30);
    private Label dn=new Label("Data Nascita:",Label.LEFT);
    TextField datanascita=new TextField(10);
    TextField datanascita1=new TextField(10);
    TextField datanascita2=new TextField(10);
    private Label ind=new Label("Indirizzo:",Label.LEFT);
    TextField indirizzo=new TextField(30);
    private Label cap=new Label("CAP:",Label.LEFT);
    TextField CAP=new TextField(30);
    private Label cit=new Label("Città:",Label.LEFT);
    TextField citta=new TextField(30);
    private Label prov=new Label("Provincia:",Label.LEFT);
    TextField provincia=new TextField(30);
    private Label tel=new Label("Telefono:",Label.LEFT);
    TextField telefono=new TextField(30);
    private Label email=new Label("Mail:",Label.LEFT);
    TextField mail=new TextField(30);
    private Label nm=new Label("Numero Matricola:",Label.LEFT);
    TextField numeromatricola=new TextField(30);
    private Label clas=new Label("Classe:",Label.LEFT);
    TextField classe=new TextField(30);
    private Label sez=new Label("Sezione:",Label.LEFT);
    TextField sezione=new TextField(30);
    private Label spe=new Label("Specializzazione:",Label.LEFT);
    TextField specializzazione=new TextField(30);
    private Label ad=new Label("Anno Diploma:",Label.LEFT);
    TextField annodiploma=new TextField(30);
    private Label vd=new Label("Voto Diploma:",Label.LEFT);
    TextField votodiploma=new TextField(30);
    Button b1=new Button("Clear");
    Button b2=new Button("Inserire Studente");
    Button b3=new Button("Cambio classe");
    Button b4=new Button("Diploma");
    Button b5=new Button("Scrivi file");
    Button b6=new Button("Leggi file");
    Button b7=new Button("Modify");
    Button b8=new Button("Delete");
    Label t=new Label("",Label.CENTER);
    Font f;
    Font f1;
    public GUIscuola(String Titolo)
    {
    super(Titolo);
    this.addWindowListener(new GestoreFinestra());
    setBackground(Color.GRAY);
    this.setLayout(new BorderLayout());
    f=new Font("Britannic",Font.BOLD,12);
    f1=new Font("Italic",Font.BOLD,14);
    co.setFont(f1);
    no.setFont(f1);
    dn.setFont(f1);
    ind.setFont(f1);
    cit.setFont(f1);
    cap.setFont(f1);
    prov.setFont(f1);
    tel.setFont(f1);
    email.setFont(f1);
    nm.setFont(f1);
    clas.setFont(f1);
    sez.setFont(f1);
    spe.setFont(f1);
    ad.setFont(f1);
    vd.setFont(f1);
    t.setFont(f);
    Panel p1=new Panel();
    Panel p2=new Panel();
    Panel p3=new Panel();
    Panel p4=new Panel();
    Panel p5=new Panel();
    Panel p6=new Panel();
    Panel p7=new Panel();
    Panel p8=new Panel();
    Panel p9=new Panel();
    Panel p0=new Panel();
    Panel p10=new Panel();
    Panel p11=new Panel();
    Panel p12=new Panel();
    Panel p13=new Panel();

    p1.setLayout(new GridLayout(5,4,10,10));
    p1.add(co);
    p1.add(cognome);
    p1.add(no);
    p1.add(nome);
    p1.add(dn);
    p1.add(datanascita);
    p1.add(datanascita1);
    p1.add(datanascita2);
    p1.add(ind);
    p1.add(indirizzo);
    p1.add(cap);
    p1.add(CAP);
    p1.add(cit);
    p1.add(citta);
    p1.add(prov);
    p1.add(provincia);
    p1.add(tel);
    p1.add(telefono);
    p1.add(email);
    p1.add(mail);
    p0.setLayout(new BorderLayout());
    p0.add(p9,BorderLayout.NORTH);
    p0.add(p1,BorderLayout.CENTER);
    p0.add(p10,BorderLayout.WEST);
    p0.add(p11,BorderLayout.EAST);
    this.add(p0,BorderLayout.NORTH);

    p2.setLayout(new GridLayout(3,4,10,10));
    p2.add(nm);
    p2.add(numeromatricola);
    p2.add(clas);
    p2.add(classe);
    p2.add(sez);
    p2.add(sezione);
    p2.add(spe);
    p2.add(specializzazione);
    p2.add(ad);
    p2.add(annodiploma);
    p2.add(vd);
    p2.add(votodiploma);
    p6.setLayout(new BorderLayout());
    p6.add(p7,BorderLayout.NORTH);
    p6.add(p2,BorderLayout.CENTER);
    p6.add(p12,BorderLayout.WEST);
    p6.add(p13,BorderLayout.EAST);
    add(p6,BorderLayout.CENTER);

    b1.addActionListener(this);
    b2.addActionListener(this);
    b3.addActionListener(this);
    b4.addActionListener(this);
    b5.addActionListener(this);
    b6.addActionListener(this);
    b7.addActionListener(this);
    b8.addActionListener(this);
    p4.add(b1);
    p4.add(b2);
    p4.add(b3);
    p4.add(b4);
    p4.add(b5);
    p4.add(b6);
    p4.add(b7);
    p4.add(b8);
    p5.add(t);

    p5.setLayout(new GridLayout(1,1));
    p3.setLayout(new BorderLayout());
    p3.add(p8,BorderLayout.NORTH);
    p3.add(p4,BorderLayout.CENTER);
    p3.add(p5,BorderLayout.SOUTH);
    add(p3,BorderLayout.SOUTH);
    }
    public void actionPerformed(ActionEvent e)
    {
    String lb=e.getActionCommand();
    if(lb.equals("Clear"))
    {
    t.setText("Tasto: Clear premuto");
    cognome.setText("");
    nome.setText("");
    datanascita.setText("");
    datanascita1.setText("");
    datanascita2.setText("");
    indirizzo.setText("");
    CAP.setText("");
    citta.setText("");
    provincia.setText("");
    telefono.setText("");
    mail.setText("");
    numeromatricola.setText("");
    classe.setText("");
    sezione.setText("");
    specializzazione.setText("");
    annodiploma.setText("");
    votodiploma.setText("");
    t.setText("");

    }
    if(lb.equals("Inserire Studente"))
    {
    Studente s=new Studente();
    Datanascita dnasc=new Datanascita();

    s.setCognome(cognome.getText());
    s.setNome(nome.getText());
    dnasc.setGiorno(Integer.valueOf(datanascita.getTex t()).intValue());
    dnasc.setMese(Integer.valueOf(datanascita1.getText ()).intValue());
    dnasc.setAnno(Integer.valueOf(datanascita2.getText ()).intValue());
    s.setDa(dnasc);
    s.setIndirizzo(indirizzo.getText());
    s.setCap(CAP.getText());
    s.setCitta(citta.getText());
    s.setProvincia(provincia.getText());
    s.setTelefono(telefono.getText());
    s.setEmail(mail.getText());
    s.setNmatricola(Long.valueOf(numeromatricola.getTe xt()).longValue());
    s.setClasse(Byte.valueOf(classe.getText()).byteVal ue());
    String k=sezione.getText();
    char l=k.charAt(0);
    s.setSezione(l);
    s.setSpecializzazione(specializzazione.getText());

    scu.insertStudente(s);
    }
    if(lb.equals("Cambio classe"))
    {
    t.setText("Tasto: Cambio classe premuto");
    }
    if(lb.equals("Diploma"))
    {
    t.setText("Tasto: Diploma premuto");
    }
    if(lb.equals("Scrivi file"))
    {
    try
    {
    FileOutputStream f=new FileOutputStream("elenco.txt");
    ObjectOutputStream fOUT=new ObjectOutputStream(f);

    fOUT.writeObject(scu);
    fOUT.writeObject(scuD);

    f.close();
    }
    catch(IOException f)
    {
    System.out.println(""+f.getMessage());
    }

    t.setText("Tasto: Scrivi file premuto");
    }
    if(lb.equals("Leggi file"))
    {
    t.setText("Tasto: Leggi file premuto");
    }
    if(lb.equals("Modify"))
    {
    t.setText("Tasto: Modify premuto");
    }
    if(lb.equals("Delete"))
    {
    t.setText("Tasto: Delete premuto");
    String c=cognome.getText();
    String n=nome.getText();
    scu.deleteStudente(c,n);
    }
    }
    }


    ------------------------------------------------------------
    import java.util.Vector;
    class Scuola
    {
    Vector studenti=new Vector();


    public Scuola()
    {
    studenti=null;
    }
    public void setStudenti(Vector v)
    {
    studenti=v;
    }
    public Vector getStudenti()
    {
    return(studenti);
    }
    public void insertStudente(Studente s)
    {
    studenti.addElement(s);
    }
    public int serchStudente(String c,String n)
    {
    int i=0;
    boolean trovato=false;
    while((!trovato)&&i<studenti.size())
    {
    Studente s=(Studente)studenti.elementAt(i);
    if(c.equals(s.getCognome())&&n.equals(s.getNome()) )
    {
    trovato=true;
    }
    else i++;
    }
    if(!trovato)
    {
    return(-1);
    }
    else
    {
    return(1);
    }
    }
    public boolean deleteStudente(String c,String n)
    {
    int pos=serchStudente(c,n);
    if(pos<0)
    {
    return(false);
    }
    else
    {
    studenti.removeElementAt(pos);
    return(true);
    }
    }
    }

    ------------------------------------------------------------
    import java.util.Vector;
    class ScuolaD
    {
    Vector diplomati=new Vector();

    public ScuolaD()
    {
    diplomati=null;
    }
    public void setDiplomati(Vector v)
    {
    diplomati=v;
    }
    public Vector getDiplomati()
    {
    return(diplomati);
    }
    public void insertDiplomato(Diplomato d)
    {
    diplomati.addElement(d);
    }
    public int serchDiplomato(String c,String n)
    {
    int i=0;
    boolean trovato=false;
    while((!trovato)&&i<diplomati.size())
    {
    Diplomato d=(Diplomato)diplomati.elementAt(i);
    if(c.equals(d.getCognome())&&n.equals(d.getNome()) )
    {
    trovato=true;
    }
    else i++;
    }
    if(!trovato)
    {
    return(-1);
    }
    else
    {
    return(1);
    }
    }
    public boolean deleteDiplomato(String c,String n)
    {
    int pos=serchDiplomato(c,n);
    if(pos<0)
    {
    return(false);
    }
    else
    {
    diplomati.removeElementAt(pos);
    return(true);
    }
    }
    }

    -----------------------------------------------------------

    class Studente extends Persona{

    protected long nmatricola;
    protected byte classe;
    protected char sezione;
    protected String specializzazione;

    public Studente()
    {
    super();
    nmatricola=0;
    classe=0;
    sezione='\u0000';
    specializzazione=null;
    }

    public Studente(String nome,String cognome,Datanascita da,String indirizzo,String citta,String cap,String provincia,String telefono,String email, long nmatricola,byte classe,char sezione,String specializzazione)
    {
    super(nome,cognome,da,indirizzo,citta,cap,provinci a,telefono,email);
    this.nmatricola=nmatricola;
    this.classe=classe;
    this.sezione=sezione;
    this.specializzazione=specializzazione;
    }

    public void setNmatricola(long nmatricola)
    {
    this.nmatricola=nmatricola;
    }
    public long getNmatiricola()
    {
    return (nmatricola);
    }

    public void setClasse(byte classe)
    {
    this.classe=classe;
    }
    public byte getClasse()
    {
    return (classe);
    }
    public void setSezione(char sezione)
    {
    this.sezione=sezione;
    }
    public char getSezione()
    {
    return (sezione);
    }
    public void setSpecializzazione(String specializzazione)
    {
    this.specializzazione=specializzazione;
    }
    public String getSpecializzazione()
    {
    return (specializzazione);
    }

    }

    -----------------------------------------------------------
    import java.awt.*;
    class Progettoscuola{
    public static void main(String argv[])
    {
    GUIscuola fgs=new GUIscuola("Progetto scuola");
    fgs.setLocation(150,200);
    fgs.setSize(1000,364);
    fgs.setVisible(true);
    fgs.setResizable(false);
    }
    }


    ECCO A VUOI ALCUNE CLASSI GRAZIE MILLE PER L' AIUTO !!!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613
    Apparte che quella matassa di codice è completamente illeggibile (usa il tag [CODE] come da regolamento) comunque non serve che posti tutto il codice, te l'hanno già detto in due: vai alla riga 21 e guarda quali oggetti sono utilizzati, con tutta probabilità uno di quelli è null, altrettanto probabilmente perché non inizializzato.

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.