Java:字体和像素
我正在制作一个游戏,在菜单中我想在屏幕中央显示文本。 Java中是否有一种方法可以获取/计算具有指定大小和样式的指定字体中文本的宽度 Martijn该方法就是这样做的——它将返回给定Java:字体和像素,java,fonts,font-size,Java,Fonts,Font Size,我正在制作一个游戏,在菜单中我想在屏幕中央显示文本。 Java中是否有一种方法可以获取/计算具有指定大小和样式的指定字体中文本的宽度 Martijn该方法就是这样做的——它将返回给定字符串的宽度(以像素为单位) 可以通过该方法从对象获取FontMetrics 例如: g.setFont(new Font("Serif", Font.BOLD, 24)); int width = g.getFontMetrics().stringWidth("Hello World!"); System.out
字符串的宽度(以像素为单位)
可以通过该方法从对象获取FontMetrics
例如:
g.setFont(new Font("Serif", Font.BOLD, 24));
int width = g.getFontMetrics().stringWidth("Hello World!");
System.out.println(width);
结果是:
135
在类中,您可以使用诸如getLineMetrics或getStringBounds之类的方法来帮助您。只需使用中心对齐的JLabel和适当的布局管理器,您就不必担心这个问题。为什么FontMetrics是抽象的??FontMetrics是抽象的,因为结果取决于所使用的特定图形对象。
JLabel label = new JLabel("Text");
frame.add(label , SwingConstants.CENTER);