Ciao a tutti, a scuola stiamo facendo grafica e oggi a casa, mentre tentavo di fare un programma, sono incappato in questo errore... Non capisco da cosa deriva però!

codice:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class FinCanv extends Frame implements ActionListener{
Persona a[]=new Persona[3];
Panel p1=new Panel();
Panel p2=new Panel();
Panel p3=new Panel();
Panel p4=new Panel();
private TextField nome=new TextField(15);
private TextField cognome=new TextField(15);
private Button b=new Button("Visualizza info");
private Choice codF=new Choice();
public FinCanv(){
	super("Visualizza info");
	addWindowListener(new GestoreFinestra());
	p1.add(new Label("Nome"));
	p1.add(nome);
	p2.add(new Label("Cognome"));
	p2.add(cognome);
	p3.add(b);
	p4.add(codF);
	setLayout(new GridLayout(3,2,5,10));
	add(p1);
	add(p2);
	add(p3);
	add(p4);
	b.addActionListener(this);
	for(int i=0;i<3;i++){
		a[i].setNome(JOptionPane.showInputDialog("Inserisci nome"));
		a[i].setCognome(JOptionPane.showInputDialog("Inserisci cognome"));
		a[i].setCod(JOptionPane.showInputDialog("Inserisci codice fiscale"));
		}
	inCombo();
}
public void inCombo(){
	for(int i=0;i<3;i++){
		codF.addItem(a[i].getCod());
		}
}

public void actionPerformed(ActionEvent e) {
	String z=e.getActionCommand();
	String c,b;
	if(z.equals("Visualizza info")){
		switch(codF.getSelectedIndex()){
		case 0:
			c=a[0].getNome();
			nome.setText(c);
			b=a[0].getCognome();
			cognome.setText(b);
			break;
		case 1:
			c=a[1].getNome();
			nome.setText(c);
			b=a[1].getCognome();
			cognome.setText(b);
			break;
		case 2:
			c=a[2].getNome();
			nome.setText(c);
			b=a[2].getCognome();
			cognome.setText(b);
			break;
		}
	}
}
}

-------- main -------

public class Principale{

	public static void main(String[] args) {
		FinCanv f=new FinCanv();
		f.pack();
		f.setVisible(true);
	}

}
e questo è il codice dell'errore!

codice:
Exception in thread "main" java.lang.NullPointerException
	at FinCanv.<init>(FinCanv.java:30)
	at Principale.main(Principale.java:5)
Grazie a tutti per l'aiuto!