Has provado de usar la clase Login como un dialogo modal?
Si lo usas con la opcion APPLICATION_MODAL, y no lo cierras hasta que se complete el login correctamente, la aplicación permanecera "muerta".
Utilizando la classe del enlace que ha dejado abulon81, y añadiendo:
Código Java:
Ver originalthis.setModalityType(APPLICATION_MODAL);
en el constructor de la classe LoginDialog, tansolo te hace falta llamarlo despues de crear la ventana principal, y el programa quedara "bloqueado" hasta que te logees correctamente.
Espero que te sirva de ayuda!
Un saludo!