I need help with my GUI, we have to make it so that he can't blow it up. I've put in try and catch statements and set it up but I couldn't get my textArea to work and the only way I could make it work was by removing my Layout. When I type in certain things I keep getting this error:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at School.deleteStudent(School.java:122)
I don't even know what that means. I'm not sure how to fix it.
I also don't know how to upload my JCreator files(it kept saying error when i tried to upload it) so I'm going to try to just post it below...I can post the other files if needed but here is just the GUI without the other classes or main method:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.awt.Color;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.io.IOException;
import javax.swing.JOptionPane;
import javax.swing.ButtonGroup;

public class SchoolGUI extends JFrame
{
final int AREA_ROWS = 10;
final int AREA_COLUMNS = 30;
private static final int FRAME_WIDTH = 600;
private static final int FRAME_HEIGHT = 500;

private final School school;
private String zname;
private int zid;
private String zmajor;
private double zqpa;
//labels
private JLabel nameLabel;
private JLabel idLabel;
private JLabel majorLabel;
private JLabel qpaLabel;
//buttons
private JButton button1;
private JButton button2;
private JButton button3;
private JButton button4;
//text fields
private JTextField nameField;
private JTextField idField;
private JTextField majorField;
private JTextField qpaField;
//button group
private ButtonGroup choices;
//pane and area
private JTextArea textArea;
private JTextField textField;
private JPanel panel;
private JPanel panelButton;

private ActionListener listener1;//buttons

public SchoolGUI()
{
school=new School();
//labels
nameLabel=new JLabel("Name");
idLabel=new JLabel("ID");
majorLabel=new JLabel("Major");
qpaLabel=new JLabel("QPA");
// The text area for displaying the results
textField=new JTextField(20);
textArea = new JTextArea(AREA_ROWS, AREA_COLUMNS);
textArea.setEditable(false);
//set up methods
createTextField();
createButtons();
setUpPanels();
setSize(FRAME_WIDTH,FRAME_HEIGHT);

}

public void createTextField()
{
//fields
nameField = new JTextField(20);
idField= new JTextField(10);
majorField = new JTextField(20);
qpaField = new JTextField(10);
}
public void setUpPanels()
{
JPanel panel = new JPanel();

panel.setBackground(Color.RED);

panel.add(nameLabel);
panel.add(nameField);
panel.add(idLabel);
panel.add(idField);
panel.add(majorLabel);
panel.add(majorField);
panel.add(qpaLabel);
panel.add(qpaField);

panel.add(button1);
panel.add(button2);
panel.add(button3);
panel.add(button4);

JScrollPane scrollPane=new JScrollPane(textArea);
panel.add(scrollPane);

add(panel);
}


public void createButtons()
{
button1 = new JButton("Add");
button2 = new JButton("Update");
button3 = new JButton("Retrieve");
button4 = new JButton("Delete");
//set up command names (event)
button1.setActionCommand("add");
button2.setActionCommand("update");
button3.setActionCommand("retrieve");
button4.setActionCommand("delete");
//---listener
class ButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{//if else -> depends on which button has been pressed and which radio button is currently selected.
//actions go here --
try
{
String zname = nameField.getText();
String zmajor = majorField.getText();
double zqpa = Double.parseDouble(qpaField.getText());
int zid = Integer.parseInt(idField.getText());
}
catch(IllegalArgumentException exception)
{
JOptionPane.showMessageDialog(null,"Wrong input entered. :"+exception.getMessage());
}
// first button
if("add".equals(event.getActionCommand()))
{
if (nameField.getText().equals(null)||idField.getText ().equals(null)||majorField.getText().equals(null) ||zqpa>4.0)
JOptionPane.showMessageDialog(null,"Please make sure all inputs are correct");
else
{

Student aStudent=new Student(zname,zid,zmajor,zqpa);
school.addStudent(aStudent);
textArea.append("Student Added"+"\n");
idField.setText("");
nameField.setText("");
majorField.setText("");
qpaField.setText("");

}
}
if("update".equals(event.getActionCommand()))
{
if(idField.getText().equals(null))
{
JOptionPane.showMessageDialog(null,"You must enter in an id number");
}
else
{
school.updateStudent(zname,zid,zmajor,zqpa);
textArea.append("Student Information Updated"+"\n");
}
}
if("retrieve".equals(event.getActionCommand()))
{
if(!(idField.getText().equals(null)))
{
school.findNumber(zid);
}
if((idField.getText().equals(null))&&!(nameField.g etText().equals(null)))
{
textArea.append(school.findName(zname));
}
else
{
JOptionPane.showMessageDialog(null,"You must enter in an id number or name");
}
}
if("delete".equals(event.getActionCommand()))
{
if(idField.getText().equals(null))
{
JOptionPane.showMessageDialog(null,"You must enter in at least the id number");
}
if(school.findNumber(zid).equals(null))
{
JOptionPane.showMessageDialog(null,"Student does not exist");
}
else
{
school.deleteStudent(school.findNumber(zid));
textArea.append("Student Deleted"+"\n");
}
}

}
}
//~initialize listener here
listener1 = new ButtonListener();
//add listener to every button
button1.addActionListener(listener1);
button2.addActionListener(listener1);
button3.addActionListener(listener1);
button4.addActionListener(listener1);
}

}