Infatti.
Hai usato un JPasswordField e la documentazione dice che tale classe dovrebbe utilizzare il metodo
codice:
puvlic char[] getPassword()
e non getText().
La differenza fra i due è che il primo ritorna un array di caratteri (più facilmente manipolabile da parte di algoritmi di cifratura), mentre il secondo ritorna un oggetto String.

Niente di difficile:
codice:
if((new String( password.getPassword() )).equals(""))
   return "Password field can't be empty.";
Ciao.