如何在draw2d中为文本加下划线

时间:2009-10-06 23:35:43

标签: java swt draw2d

是否有一种简单的方法可以在draw2d中绘制带下划线的文本而无需在文本下手动绘制一条线?

2 个答案:

答案 0 :(得分: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);
}

答案 1 :(得分:0)

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