Allora, io sposterei tutti i controlli all'interno di ControlManager, creando dei metodi appositi:
1) un metodo controllaDatiVuoti(String[] dati) che riceve in ingresso un array con tutte le stringhe da controllare. Se almeno una di queste stringhe è vuota, restituisce false, altrimenti restituisce true;
2) un metodo controllaPassword(String p) che verifica la correttezza della lunghezza
3) un metodo controllaEmail(String email) che verifica la correttezza dell'email.
Codice PHP:
package Schedule.DB;
import javax.swing.JOptionPane;
public class ControlManager {
public boolean controllaDatiVuoti(String[] dati){
boolean ret = true;
for(int i=0;i < dati.length;i++){
if(dati[i].equals("")){
ret = false;
JOptionPane.showMessageDialog(null, "Tutti i dati sono obbligatori","", JOptionPane.ERROR_MESSAGE);
//ho trovato almeno un dato vuoto
//quindi è inutile continuare e interrompo il ciclo for
break;
}
}
return ret;
}
public boolean controllaPassword(String p){
if(p.length()!=5){
JOptionPane.showMessageDialog(null, "Lunghezza password errata","",JOptionPane.ERROR_MESSAGE);
return false;
}else
return true;
}
public boolean controllaEmail(String email){
String espressione = "^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*.[a-z]{2,4}$";
if(email.matches(espressione)){
return true;
else{
JOptionPane.showMessageDialog(null, "Email non valida","", JOptionPane.ERROR_MESSAGE);
return false;
}
}
public String MessaggioRegistrazione(){
//...il codice che hai già scritto e che io non conosco...
}
}
Così facendo, il tuo metodo actionPerformed diventerebbe:
Codice PHP:
public void actionPerformed(ActionEvent e){
boolean controllo = true;
String[] dati = {TextNominativo.getText(),TextUsername.getText(),jPasswordField1.getText(),TextTelefono.getText(), TextFax.getText(),TextTipo_Utente.getText(),TextEmail.getText(),TextDipartimento.getText()};
ControlManager cm = new ControlManager();
controllo = cm.controllaDatiVuoti(dati);
//se il primo controllo è andato a buon fine, continuo con gli altri
if(controllo){
controllo = cm.controllaPassword(jPasswordField1.getText());
if(controllo){
controllo = cm.controllaEmail(TextEmail.getText());
if(controllo){
//tutti i controlli sono andati a buon fine;
try {
gestionearchivio(e);
} catch (SQLException e1) {
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
cm.MessaggioRegistrazione();
}
}
}
);