只需使用方法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:
返回給定字符串的程度。執行製表符擴展和回車處理。
字符串的程度的寬度和矩形區域如果在一個特定的字體(在這種情況下,在接收機當前字體)繪製它將涵蓋的高度。
來源
2013-10-24 06:44:28
Baz
難道你不需要指定哪個字體顯示所有的字符嗎? (我真的不會非常驚訝,如果你想要的是可行的) –
http://stackoverflow.com/questions/368295/how-to-get-real-string-height-in-java –
@ ling.si saw那。我需要擴展JPanel嗎?我的代碼不使用JPanel! – Destructor