有谁知道java2d文本库?

时间:2009-06-13 19:22:50

标签: java text java-2d

这是我在游戏中需要的文字:

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)库,使文本格式化变得简单?

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

查看此官方教程:http://download.oracle.com/javase/tutorial/2d/text/index.html 它包含显示文本所需的一切。 或者更简单地使用TextLayout,如果你不喜欢阅读=)(http://download.oracle.com/javase/1.4.2/docs/api/java/awt/font/TextLayout.html

答案 2 :(得分:0)

在尝试@ Daniel的回答后,我找到了以下解决方案:

    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

希望它有所帮助...