public void actionPerformed(ActionEvent event) {
      // if both names are entered on the search
      if (!firstNameField.getText().equals("") && !lastNameField.getText().equals("")) {
        searchVector.clear();
        for (int i = 0; i < patientVector.size(); i++) {
          Patient p1 = (Patient) patientVector.elementAt(i);
          if (firstNameField.getText().matches(p1.getFirstName())
              && lastNameField.getText().equals(p1.getLastName())) searchVector.add(p1);
        }
        if (searchVector.size() == 0)
          JOptionPane.showMessageDialog(patientListLabel, "Patient not found! 1");
        else {
          searchList = new JList(searchVector);
          searchList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
          scrollSearchList = new JScrollPane(searchList);
          searchPanel.removeAll();
          searchPanel.add(patientInfoPanel);
          searchPanel.add(patientListLabel);
          searchPanel.add(scrollSearchList);
          searchPanel.add(buttonPanel);
          repaint();
          revalidate();
        }
      }

      // if only the first name is entered on the search
      else if (lastNameField.getText().equals("") && !firstNameField.getText().equals("")) {
        searchVector.clear();
        System.out.println("dasdas");
        for (int i = 0; i < patientVector.size(); i++) {
          System.out.println("dasdas" + i);
          Patient p1 = (Patient) patientVector.elementAt(i);
          if (firstNameField.getText().matches(p1.getFirstName())) searchVector.add(p1);
        }
        if (searchVector.size() == 0)
          JOptionPane.showMessageDialog(patientListLabel, "Patient not found!2");
        else {
          searchList = new JList(searchVector);
          searchList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
          scrollSearchList = new JScrollPane(searchList);
          searchPanel.removeAll();
          searchPanel.add(patientInfoPanel);
          searchPanel.add(patientListLabel);
          searchPanel.add(scrollSearchList);
          searchPanel.add(buttonPanel);
          repaint();
          revalidate();
        }
      }
      // if only the last name is entered on the search
      else if (firstNameField.getText().equals("") && !lastNameField.getText().equals("")) {
        searchVector.clear();
        for (int i = 0; i < patientVector.size(); i++) {
          Patient p1 = (Patient) patientVector.elementAt(i);
          if (lastNameField.getText().matches(p1.getLastName())) searchVector.add(p1);
        }
        if (searchVector.size() == 0)
          JOptionPane.showMessageDialog(patientListLabel, "Patient not found!");
        else {
          searchList = new JList(searchVector);
          searchList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
          scrollSearchList = new JScrollPane(searchList);
          searchPanel.removeAll();
          searchPanel.add(patientInfoPanel);
          searchPanel.add(patientListLabel);
          searchPanel.add(scrollSearchList);
          searchPanel.add(buttonPanel);
          repaint();
          revalidate();
        }
      }
      // if the fields are empty, show the complete set of patient
      else {
        searchPanel.removeAll();
        searchPanel.add(patientInfoPanel);
        searchPanel.add(patientListLabel);
        searchPanel.add(scrollPatientList);
        searchPanel.add(buttonPanel);
        repaint();
        revalidate();
      }
    }