2009-10-06 78 views

回答

2

经过一番研究,看起来下划线文本在Draw2D中本地不支持,因为SWT字体是操作系统级别的对象,并不是SWT支持的每个操作系统都支持带下划线的文本。看起来最好的办法是创建一个手动绘制带下划线文本的方法。也许它会在稍后添加到SWT中。

这里是我最终使用(或多或少):

private void drawUnderlinedText(GC gc, String string, int x, int y) 
{ 
    Point extent = gc.textExtent(string); 
    gc.drawText(string, x, y); 
    gc.drawLine(x - 1, y + extent.y - 1, x + extent.x - 1, y + extent.y - 1); 
} 
0

使用具有下划线属性的字体。 Darryl's Visual Font Designer显示了如何使用此属性创建字体。

+0

我认为这是对AWT的字体,而不是SWT字体。 SWT使用不同的Font类。 – thehiatus 2009-10-07 15:30:15