2009-09-09 24 views
5

Ich mache ein Spiel und im Menü möchte ich den Text in der Mitte des Bildschirms anzeigen. Gibt es einen Weg in Java, um die Breite eines Stückes Text in einer bestimmten Schriftart mit angegebener Größe und Stil zu berechnen.Java: Schriftarten und Pixel

Martijn

Antwort

11

Die FontMetrics.stringWidth Verfahren nicht nur, dass - es wird die Breite in Pixel für ein gegebenes String zurückzukehren.

Man kann die FontMetrics von einem Graphics Objekt durch die getFontMetrics Methode erhalten.

Zum Beispiel:

g.setFont(new Font("Serif", Font.BOLD, 24)); 
int width = g.getFontMetrics().stringWidth("Hello World!"); 

System.out.println(width); 

Das Ergebnis war:

135 
+0

Warum ist FontMetrics abstrakt? –

+0

danke für die schnelle Hilfe. –

+1

FontMetrics ist abstrakt, da das Ergebnis vom verwendeten Grafikobjekt abhängt. –

1

In der Klasse Font Sie Methoden haben so wie getLineMetrics oder getStringBounds die Ihnen helfen können.

0

Verwenden Sie einfach ein JLabel, das mittig ausgerichtet ist und den richtigen Layout-Manager, und Sie müssen sich nicht darum kümmern.

0
JLabel label = new JLabel("Text"); 

frame.add(label , SwingConstants.CENTER); 
Verwandte Themen