2014-07-02 41 views
0

我正在創建一個遊戲,並且我想使用Java的Font.MONOSPACED字體,因爲它易於使用(即使它看起來令人厭惡)。問題是,我不知道字體的寬高比,這非常重要。搜索一段時間後,我無法在網上找到答案。

如果有人知道它或如何找出它,我會非常感激。Java「MONOSPACED」字體寬度

+0

[在搜索一段時間後我無法在網上找到答案。 ---> deriveFont,size,style](http://docs.oracle.com/javase/7/docs/api/java/awt/Font.html) – mKorbel

回答

0

java.awt.FontMetrics將在這裏成爲你的朋友。

您通過Graphics2d對象訪問它:

Graphics2D gfx = ...; 
gfx.setFont(...); // select your preferred font, monospaced or otherwise 
FontMetrics metrics = gfx.getFontMetrics(); 

已經這樣做了,你可以得到:(均來自上面的鏈接文檔)

任何單個字符的寬度:

charWidth(char ch) 返回此Font中指定字符的提前寬度。

字符串的寬度:

stringWidth(String str) 返回的總的超前寬度爲示出該字體指定的字符串。

getHeight() 的高度獲取在該字體的文本行的標準高度。

我相信你能弄清楚如何從上述一個寬高比,你可以從不同的FontMetrics方法獲得大量的其它信息 - 檢查出來。

+0

謝謝你的幫助。今天嘗試並按照我想要的方式工作。 –