mi da questo errore nel dos quando faccio inserimento studente
Exception in thread "AWT-EventQueue-0" java.lang.NullPOINTERexception
le classi principali sn queste
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();
Studente s=new Studente();
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);
}
}
}
------------------------------------------------------------
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);
}
}
-------------------------------------------------------------