2009-06-13 8 views
6

Bu benim metin ile ilgili benim oyunda gerekenler: ŞimdiBir java2d metin kitaplığını bilen var mı?

Word Wrap Support given a bounding box 
Vertical and Horizontal alignment given a bounding box 

, ben TextLayout nasıl kullanılacağı hakkında okuyordum ve kendim tüm bu bilgileri mümkün görünüyor ama ben düşünmeyi tercih ediyorum daha yüksek bir seviye. Ben sadece böyle bir imzaya sahip bir Etiket sınıfını istiyorum:

public Label(String text, Alignment alignment, VAlignment vAlignment); 

kimse metni basit biçimlendirme yapar orada bir açık kaynak (non-gpl) kütüphanenin biliyor mu ?

+0

Özel paint() yöntemleri veya Swing bileşenleri kullanıyor musunuz? – akarnokd

+0

java2d kullanıyorum, bu yüzden özel paint() yöntemleri kullanıyorum. –

+1

Sanırım çoğu grafik programı kendi metin oluşturma işlemlerini oluşturdu. Maksimum kontrol için String.split(), FontMetrics vb. Kullanarak kendi versiyonunuzu uygulayabilirsiniz. – akarnokd

cevap

1

Oyun grafiklerini boyamak için java2d kullanıyorsanız, metninizi oluşturmak için awt veya swing metin bileşenlerini kullanabilmeniz gerekir. Ör. bir JLabel oluşturun ve Graphics2D içeriğiyle birlikte render sıranızda boya ve güncelleme yöntemlerini elle arayın.

JLabel label = new JLabel("your text"); 
label.setLocation(0, 100); 
label.setSize(20, 100); 
label.paint(g); // g is your Graphics2D context 
0

TextLayout kullanmak, aşağıdaki çözüme geldi:

JLabel label = new JLabel("your text"); 
    label.setSize(screen); //screen is a Dimension Object.. 
    label.setHorizontalAlignment(SwingConstants.CENTER); 
    label.paint(g2d); // g is your Graphics2D context 

yardımcı olur Umut ...