Java:字体和像素

时间:2009-09-09 12:56:53

标签: java fonts font-size

我正在制作游戏,在菜单中我想在屏幕中央显示文字。 在Java中是否有办法获得/计算具有指定大小和样式的指定字体的文本宽度。

马亭

4 个答案:

答案 0 :(得分:11)

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

可以通过Graphics方法从getFontMetrics对象获取FontMetrics

例如:

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

System.out.println(width);

结果是:

135

答案 1 :(得分:1)

在班级Font中,您可以使用getLineMetrics或getStringBounds等方法来帮助您。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

JLabel label = new JLabel("Text");

frame.add(label , SwingConstants.CENTER);