¿Cómo dibujar una cadena centrada verticalmente en Java?

Sé que es un concepto simple pero estoy luchando con las métricas de fuentes. Centrar horizontalmente no es demasiado difícil, pero verticalmente parece un poco difícil.

He intentado usar los métodos FontMetrics getAscent, getLeading, getXXXX en varias combinaciones, pero no importa lo que haya intentado, el texto siempre está desactivado en unos pocos píxeles. ¿Hay alguna forma de medir la altura exacta del texto para que esté exactamente centrada?