1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
public static void dateNaissanceCompletion(JTextField a, java.awt.event.KeyEvent e){//si le premier chiffre tappé est >2 alors on rajoute 0 devant, puis le chiffre puis /
if((a.getText().length()==1)&&(e.getKeyCode()>99)&&(e.getKeyCode()<106)){
a.setText("0"+e.getKeyChar()+"/");
a.setSelectionStart(3);
}
//pareil pour la deuxieme partie
else if((a.getText().length()==4)&&(e.getKeyCode()>97)&&(e.getKeyCode()<106)){
a.setText(a.getText().substring(0,3)+ "0"+e.getKeyChar()+"/");
a.setSelectionStart(6);
}
//maintenant on supprime les / si l'user les tappes alors qu'elles existent
else if (((a.getText().length()==4)||(a.getText().length()==7))&&(e.getKeyCode()==111)){
a.setText(a.getText().substring(0,a.getText().length()-1));
a.setSelectionStart(a.getText().length());
}
//si le prochain chiffre est un 0 alors on est née en 200X
else if((a.getText().length()==7)&&(e.getKeyCode()==96)){
a.setText(a.getText().substring(0,6) + "20" + e.getKeyChar());
a.setSelectionStart(9);
}
//sinon 19XX
else if((a.getText().length()==7)&&(e.getKeyCode()!=98)&&(e.getKeyCode()!=8)&&(e.getKeyCode()!=97)){
a.setText(a.getText().substring(0,6)+ "19"+e.getKeyChar());
a.setSelectionStart(9);
}
//maintenant on rajoute les / pour eviter de les tapper
else if (((a.getText().length()==2)||(a.getText().length()==5))&&(e.getKeyCode()!=8)){
a.setText(a.getText()+"/");
a.setSelectionStart(a.getText().length());
}
//si la date dépasse les 10 char, on efface le dernier
else if (a.getText().length()==11)
a.setText(a.getText().substring(0,10)); |
Partager