En el caso de como ejecutar la accion con el ENTER, si no te funca asi como lo estas haciendo, entponces ponele un escuchardor de teclas addKeyListener y luego en el evento preguntas si la tecla precionada es el ENTER y mandas a ejecutar la accion.
Con respecto a lo del focus, es tan simple como cuando muestras el mensaje, justo despues de la linea que hace que el mensaje se muestre, es decir, justo despues del
Código PHP:
JOptionPane.showMessage....
pones el objeto que kieres que gane el foco
Código PHP:
cajaLogin.requestFocus(); //por ejemplo
Con Resptecto a lo de los TabIndex, almenos hasta el momento no he visto nada como eso de VB que a cada elemento le elijes su numero. En Java simplemente debes ir iniciando los objetos en el orden que quieras que tengas su TabIndex, ejemplo, si kieres que la caja de texto Login este justo antes en su TabIndex que la des password solo debes iniciarlas en este orden.
Código PHP:
JTextField login = new JTextField();
JPassword password = new JPassword();
Esto hace inmediatamente que si esta en la caja login y precionas TAB el foco pasa al password.
Saludos