当使用drawString时,制表符和回车符将不会被处理。
在一个GC上绘制字符的时候,一个字符串所占用的大小取决于它的内容以及GC的字体。
想要确定一个字符串在被绘制之后所占用的区域可以使用方法:GC.stringExtent(String text), 或 GC.textExtent(String text)。
这两个方法都返回一个Point类,这个Point的X和Y是渲染参数字符串所需要的宽和高。
文本大小与高级模式
GC 提供了方法 textExtent(String string) 来获取文本的宽度和长度。这个方法看似简单,
但实际上我们应该注意同一个文本在不同的绘图模式下(具体见高级绘图模式部分)得到的文本范围并不尽相同。
例如清单 8,普通模式下,笔者在 Windows XP 下实验得到的 size 是(22,13),而在高级绘图模式下得到的 size 是(23,13)。
因此,在使用方法 textExtent 来计算文本大小的时候应该考虑到绘图模式的不同可能会导致得到不同的结果。
eg:
GC gc = new GC (label);
gc.setAdvanced(false/true);
Point size = gc.textExtent ("hello");
gc.dispose ();