code: @Override
  	public void insertString(final int offset, final String string, final AttributeSet attributeSet)
  			throws BadLocationException {
  		if (string == null || string.length() == 0) {
  			return;
  		}
  
  		// pour une date on n'accepte que les chiffres et '/' (et/ou '.', ' ', ':' selon pattern)
  		char c;
  		final String pattern = getDateFormat().toPattern();
  		final int stringLength = string.length();
  		for (int i = 0; i < stringLength; i++) {
  			c = string.charAt(i);
  			if (!Character.isDigit(c) && (Character.isLetter(c) || pattern.indexOf(c) == -1)) {
  				Toolkit.getDefaultToolkit().beep();
  				return;
  			}
  		}
  
  		// mais sinon on accepte tout, même un format incomplet
  		super.insertString(offset, string, attributeSet);
  	}
docs: {@inheritDoc}