如何获得java中字符串/字符的高度?
问题描述:
我想获得一个字符串的高度。这里是我的意思:
说我有字符串:嗨,那么我想高度(嗨)作为该字符串中的所有字符之间的最大高度,所以这将是H的高度。我看到几个职位,说使用图形来衡量它,但我不打印它,但我只想要高度!
如果我能得到角色的高度,那么我会写一个循环来看看哪个是最高的高度!
所以两者都没问题:
获取字符串的高度(字符串中所有字母的最大高度)或
获取指定字母的高度!如何获得java中字符串/字符的高度?
答
只需使用方法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:
返回给定字符串的程度。执行制表符扩展和回车处理。
字符串的程度的宽度和矩形区域如果在一个特定的字体(在这种情况下,在接收机当前字体)绘制它将涵盖的高度。
难道你不需要指定哪个字体显示所有的字符吗? (我真的不会非常惊讶,如果你想要的是可行的) –
http://stackoverflow.com/questions/368295/how-to-get-real-string-height-in-java –
@ ling.si saw那。我需要扩展JPanel吗?我的代码不使用JPanel! – Destructor