2009-06-13 13 views
6

これは私がテキストに関する私のゲームに必要なものです:誰かがjava2dテキストライブラリを知っていますか?

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

は今、私はTextLayoutと使用方法について読んでてきた、そしてこのすべてを自分で書くことができるようだが、私が考えることを好むだろうより高いレベル。私はちょうどこのようなシグネチャを持つLabelクラスをしたい:

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

は、テキストが簡単な書式を作ることそこにオープンソース(非GPL)のライブラリーの誰を知っていますか?

+0

カスタムpaint()メソッドまたはSwingコンポーネントを使用していますか? – akarnokd

+0

java2dを使用しているので、カスタムpaint()メソッドを使用しています。 –

+1

私はほとんどのグラフィックスプログラムが単に独自のテキストレンダリングを作成したと思います。最大限の制御のために、String.split()、FontMetricsなどを使用して独自のバージョンを実装できます。 – akarnokd

答えて

1

ゲームグラフィックをペイントするためにjava2dを使用している場合は、awtまたはswingのテキストコンポーネントを使用してテキストをレンダリングする必要があります。たとえば、 JLabelを作成し、Graphics2Dコンテキストを使用してレンダリングキュー内のpaintメソッドとupdateメソッドを手動で呼び出します。

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

をTextLayoutと使用し、私は次の解決策に到着:

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 

はそれが役に立てば幸い...

関連する問題