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