Creando una cadena dentro de un rectángulo

Hola, estoy tratando de hacer una cadena dentro de un rectángulo para crear menús personalizados en java. Estoy usando un lienzo y haciendo el siguiente método, ¡pero parece que no puedo hacerlo bien!

public void render(Graphics g) {
    Graphics2D g2d = (Graphics2D) g;
    g2d.setColor(Color.WHITE);
    Font font = new Font("Verdana", Font.PLAIN, 20);
    g2d.setFont(font);
    g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
            RenderingHints.VALUE_ANTIALIAS_ON);
    FontMetrics fm = root.getFontMetrics(font);
    g2d.drawString(option, (int)getX() - fm.stringWidth(option)/2, (int) getY() + fm.getHeight());
    g2d.drawRect((int)getX() - fm.stringWidth(option)/2 - 20, (int) getY() - fm.getHeight() - 10, (int)getX() - fm.stringWidth(option)/2 + 40 , (int) getY() - fm.getHeight() + 10);
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta