Java:字体和像素

发布于 2024-08-03 20:00:01 字数 85 浏览 4 评论 0 原文

我正在制作一个游戏,在菜单中我想在屏幕中央显示文本。 Java中有没有一种方法可以获取/计算指定字体、指定大小和样式的一段文本的宽度。

马丁

I'm making a game and in the menu I want to display the text in the center of the screen.
Is there a way in Java to get/calculate the width of a piece of text in a specified font with specified size and style.

Martijn

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

只为守护你 2024-08-10 20:00:01

FontMetrics.stringWidth 方法就是这样做的——它将返回给定 String 的宽度(以像素为单位)。

可以从 FontMetrics >Graphics 对象由 getFontMetrics 方法。

例如:

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

System.out.println(width);

结果是:

135

The FontMetrics.stringWidth method does just that -- it will return the width in pixels for a given String.

One can obtain the FontMetrics from a Graphics object by the getFontMetrics method.

For example:

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

System.out.println(width);

The result was:

135
睫毛溺水了 2024-08-10 20:00:01

Font 类中,您有getLineMetrics 或 getStringBounds 等方法可能会对您有所帮助。

In the class Font you have methods such like getLineMetrics or getStringBounds that may help you.

我是男神闪亮亮 2024-08-10 20:00:01

只需使用居中对齐的 JLabel 和正确的布局管理器,您就不必担心这一点。

Just use a JLabel that is center aligned and the proper layout manager and you don't have to worry about this.

以歌曲疗慰 2024-08-10 20:00:01
JLabel label = new JLabel("Text");

frame.add(label , SwingConstants.CENTER);
JLabel label = new JLabel("Text");

frame.add(label , SwingConstants.CENTER);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文