Si a la anchura de la ventana (dimension.width) le resto lo que ocupa el jLabel (login.getText().length()) y todo lo divido entre 2, me debería dar la posición exacta donde poner el jlabel para que esté perfectamente centrado.
Pero me acabas de dejar tirado cuando has dicho
Cita: Ahí mismo estás mezclando longitud de texto(número de letras) con pixels
¿Cómo puedo pasarlo a las mismas unidades para solucionar el problema?