Breite und Höhe eines gezeichneten Strings

swalbking

Mitglied
Hallo zusammen,
ich zeichne einen String wie folgt in mein Bild:
Code:
Graphics2D g2;
[...]
AttributedString as = new AttributedString("teststring");
as.addAttribute( TextAttribute.FONT,  new Font("Arial", Font.PLAIN, 12) );
as.addAttribute( TextAttribute.BACKGROUND, Color.WHITE );
g2.drawString( as.getIterator(), 20,20 );

Der String wird auf ein weißes Rechteck gezeichnet. Ich möchte nun die Breite und Höhe von diesem wissen. Gibt es dazu eine Möglichkeit?

Danke schonmal,
swalbking
 
Danke für deine schnelle Hilfe!

g müsste bei dir ein Objekt von Graphics sein. Ich nutze allerdings Graphics2D und da gibts diese Methode leider nicht :-(

Bin aber durch deine Methode auf das Textlayout gestoßen und werde es mal damit versuchen :-)
 
Moin!
Das funktioniert aber nur in diesem einfachen Beispiel.
Besser wäre es mit einem TextLayout:
Code:
TextLayout text = new TextLayout(as.getIterator(), g2.getFontRenderContext());
System.out.println(text.getBounds());

Edit: Mist da war ich wohl zu langsam ;)

g müsste bei dir ein Objekt von Graphics sein. Ich nutze allerdings Graphics2D und da gibts diese Methode leider nicht
Da Graphics2D von Graphics abgeleitet ist, hat Graphics2D folglich alle Methoden von Graphics
 
Zuletzt bearbeitet von einem Moderator:
Zurück