6

这是我在游戏中需要的关于文本的内容:

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

现在,我一直在阅读有关如何使用 TextLayout 的内容,并且似乎可以自己编写所有这些内容,但我更愿意在更高的层次上思考。我只想要一个带有这样签名的标签类:

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

有谁知道那里有一个使文本格式化变得简单的开源(非 gpl)库?

4

3 回答 3

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

于 2011-01-11T14:22:55.427 回答
1

如果您使用 java2d 绘制游戏图形,您应该能够使用 awt 或 swing 文本组件来呈现您的文本。例如,您可以使用 Graphics2D 上下文在渲染​​队列中创建一个 JLabel 并手动调用其绘制和更新方法。

JLabel label = new JLabel("your text");
label.setLocation(0, 100); 
label.setSize(20, 100);
label.paint(g); // g is your Graphics2D context
于 2011-01-06T22:10:48.300 回答
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

希望能帮助到你...

于 2011-07-20T18:11:35.940 回答