abbiamo iniziato oggi lo studio delle interfacce grafiche.
ho creato tre combo box per la data, e vorrei controllare che nn siano sbagliate (ad esempio 31 febbraio).
ho creato questo metodo:
codice:
private static boolean controllaData(String data){
int mese=Integer.parseInt(data.substring(0,2)); //ERRORE
int giorno=Integer.parseInt(data.substring(3,5));
if(mese==2 && giorno>29){
return false;
}
if(mese==4 && giorno>31){
return false;
}
if(mese==6 && giorno>31){
return false;
}
if(mese==9 && giorno>31){
return false;
}
if(mese==11 && giorno>31){
return false;
}
else{
return true;
}
}
poi ho messo il codice da eseguire in un if:
codice:
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
String data=jComboBox1.getSelectedItem().toString()+"/"+jComboBox2.getSelectedItem().toString()+"/"+jComboBox3.getSelectedItem().toString();
if(controllaData(data)){ //ERRORE
Persona p=new Persona(jTextField1.getText(), jTextField2.getText(), jTextField3.getText(), jTextField4.getText(), jTextField5.getText());
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField4.setText("");
jTextField5.setText(data);
jTextField6.setText(Persona.matricola(p));
}
else{
JOptionPane.showMessageDialog(null, "rifai tutto!!");
}
}
nessun errore in compilazione, ma mi da degli errori in esecuzione.
nello specifico alle righe dove ho messo il commento ERRORE.
ma nn riesco a capire dove ho sbagliato.