我想得到一个字符串的高度。这就是我的意思:
假设我有字符串:嗨,那么我希望高度(Hi)作为该字符串中所有字符的最大高度,因此它将是H的高度。我看到几个帖子说使用图形来测量它,但是我不打印它,但我只想要高度!
如果我能得到角色的高度,那么我会写一个循环,看看哪个是最高的高度!
所以两者中的任何一个都很好:
获取字符串的高度(字符串中所有字母的最大高度)或
获取指定字母的高度!
答案 0 :(得分:4)
只需使用GC#textExtent()
方法获取带有文字高度和宽度的Point
:
public static void main(String[] args)
{
final Display display = Display.getDefault();
final Shell shell = new Shell(display);
shell.setLayout(new GridLayout(1, false));
GC gc = new GC(display);
System.out.println(gc.textExtent("Hi").y);
gc.dispose();
shell.pack();
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
的Javadoc:
返回给定字符串的范围。执行标签扩展和回车处理。
如果以特定字体绘制,字符串的范围是它将覆盖的矩形区域的宽度和高度(在这种情况下,接收器中的当前字体)。