¿Cómo enmascarar una contraseña en Java 5?

Estoy tratando de enmascarar una contraseña en Java. Sun Java ha sugerido una forma de enmascarar una contraseña de la siguiente manera.

Enmascarar una contraseña

Utiliza una forma simple de hacer eso.

public void run () {
  stop = true;
  while (stop) {
     System.out.print("\010*");
 try {
    Thread.currentThread().sleep(1);
     } catch(InterruptedException ie) {
        ie.printStackTrace();
     }
  }
}

Pero este enfoque tiene varios inconvenientes.

Si el usuario utiliza las teclas de flecha + eliminar teclas, la contraseña se revela.

Si el usuario accidentalmente presiona 2 teclas al mismo tiempo (velocidad de escritura extremadamente alta), algunos caracteres no se enmascaran.

¿Piensan de alguna manera que puedan obtener un enmascaramiento correcto al 100%?

Respuestas a la pregunta(4)

Su respuesta a la pregunta