2009-09-09 29 views
5

Oyun yapıyorum ve menüde ekranın ortasındaki metni görüntülemek istiyorum. Belirtilen boyutta ve stilde belirli bir fonttaki bir metin parçasının genişliğini almak/hesaplamak için Java'da bir yol var mı? Bu, belirli bir String piksel genişliği döndürür -Java: Yazı Tipleri ve Pikseller

Martijn

cevap

11

FontMetrics.stringWidth yöntem sadece.

Bir Graphics nesnesinden FontMetrics nesnesini getFontMetrics yöntemiyle edinebilirsiniz. Örneğin

:

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

System.out.println(width); 

sonucuydu: sınıfta

135 
+0

FontMetrics abstract nedir? Hızlı yardım için –

+0

teşekkürler. –

+1

FontMetrics, sonuç, kullanılan belirli grafik nesnesine bağlı olduğu için soyut. –

1

böyle size yardımcı olabilecek getLineMetrics veya getStringBounds gibi yöntemleri var Font.

0

Sadece orta hizalı ve uygun düzen yöneticisi olan bir JLabel kullanın ve bunun için endişelenmenize gerek yok.

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

frame.add(label , SwingConstants.CENTER); 
İlgili konular