Salut,
Utilises le Graphics2D , tu auras accés au getFontMetrics de la font utilisé dans ton objet graphique
Code:
public void paint(Graphics g){
Graphics2D g2d = (Graphics2D)g;
g2d.setFont(f);
FontMetrics fm = g2d.getFontMetrics();
Ensuite en te servant de getDescent() et getAscent() , tu obtiens la taille réelle de ta police , hors interligne:
hauteur_texte_graphic = fm.getAscent()+fm.getDescent();
longueur_texte_graphic = fm.stringWidth(/*variable type String ou texte directement*/);
Petit conseil , prends en compte la valeur fm.getHeight() sur laquelle tu retranches l'ascent ou le descent, ceci afin d'offrir une separation entre le contour de ton objet graphique texte et le contenu (le texte lui meme).
Je rappelle a titre d'info que le dessin d'un texte s'effectue par rapport au coin inferieur gauche et non le superieur gauche comme dans la majorité des formes graphiques.
Penses donc a repositionner le texte sur ton rectangle et le tour sera joué.