M
mike
Gast
Hallo,
ich versuche ein String beliebieger Länge und Höhe zentriert in Bezug auf einen Punkt mit den Koordinaten X,Y darzustellen. Mein Code dazu sieht so aus (nur Ausschnitt)
mit der x-Koordinate klappt das wunderbar,aber nicht mit der y. Die y-Koordinate, die ich an drawString übergeben muss, damit der Text zentriert ausgegeben wird, ist die Koordinate von der Baseline des Strings. Habe aber in der Klasse FontMetrics keine Möglichkeit gefunden, diese Koordinate rauszufinden, habe nur solche Methoden, wie getAscent() und getDescent() usw., die mir nicht weiter helfen (glaube ich)
ich versuche ein String beliebieger Länge und Höhe zentriert in Bezug auf einen Punkt mit den Koordinaten X,Y darzustellen. Mein Code dazu sieht so aus (nur Ausschnitt)
Code:
public void paintComponent(Graphics g){
...
...
...
FontMetrics fm = g.getFontMetrics();
Rectangle2D strRect = fm.getStringBounds(string,g);
int strX = X - (int)Math.round((strRect.getWidth())/2);
int strY = Y + (int)Math.round((strRect.getHeight())/2);
g.drawString(string,strX,strY);
...
...
...
}