2013-10-24 116 views
1

我想獲得一個字符串的高度。這裏是我的意思:
說我有字符串:嗨,那麼我想高度(嗨)作爲該字符串中的所有字符之間的最大高度,所以這將是H的高度。我看到幾個職位,說使用圖形來衡量它,但我不打印它,但我只想要高度!
如果我能得到角色的高度,那麼我會寫一個循環來看看哪個是最高的高度!
所以兩者都沒問題:
獲取字符串的高度(字符串中所有字母的最大高度)或
獲取指定字母的高度!如何獲得java中字符串/字符的高度?

+0

難道你不需要指定哪個字體顯示所有的字符嗎? (我真的不會非常驚訝,如果你想要的是可行的) –

+0

http://stackoverflow.com/questions/368295/how-to-get-real-string-height-in-java –

+0

@ ling.si saw那。我需要擴展JPanel嗎?我的代碼不使用JPanel! – Destructor

回答

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:

返回給定字符串的程度。執行製表符擴展和回車處理。

字符串的程度的寬度和矩形區域如果在一個特定的字體(在這種情況下,在接收機當前字體)繪製它將涵蓋的高度。

相關問題