# Zentrieren von drawstring() in einem fillRect()



## Ande (12. Jul 2006)

Hi, 

ich versuche quadrat. Kästchen zu zeichnen in denen ein Buchstabe steht, nur will ich den Buchstaben zentrieren.
Das Problem ist: Wenn ich als Buchstabe "W" angeb dann ist der schön zentriert, aber z.B. der Buchstabe "l" ist viel zu weit links. Wie kann ich hier eine Zentrierung implementieren. Habe keine Ahnung, habe auch keine passende Methode gefunden. Kann mir wer weiterhelfen?


```
public class Buchstabenklotz extends JPanel {
        
    private String buchstabe;
    private int width = 50;
    private int height = 50;
    
        
    public Buchstabenklotz(String buchstabe) {
        this.buchstabe = buchstabe;
        this.setPreferredSize(new Dimension(width,height));
    }
    
    
    public void paintComponent(Graphics g ) {
        g.setColor(Color.lightGray);
        g.fillRect(0, 0, width-1, height-1);
        g.setColor(Color.black);
        g.drawRect(0, 0, width-1, height-1);
        g.setFont(new Font("Serif", Font.BOLD, 40));
        g.drawString(buchstabe, 5, 40);
    }
    
}
```


----------



## Ande (12. Jul 2006)

Keiner verstanden was ich mein?
Oder gibts dafür keine Lösung?
Buchstabenbreite bestimmen, Buchstabenmittelpunkt bestimmen?


----------



## Illuvatar (12. Jul 2006)

Du kannst mit Font#getFontMetrics().stringWidth(String) die Breite von einem String herausfinden.


----------



## André Uhres (12. Jul 2006)

http://www.java-forum.org/de/viewtopic.php?p=194883#194883


----------

