代码之家  ›  专栏  ›  技术社区  ›  thehiatus

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

  •  0
  • thehiatus  · 技术社区  · 15 年前

    在Draw2d中绘制带下划线的文本是否有一种简单的方法,而不需要在文本下手动绘制一条线?

    2 回复  |  直到 15 年前
        1
  •  2
  •   thehiatus    15 年前

    经过一点研究,在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);
    }
    
        2
  •  0
  •   camickr    15 年前

    使用带下划线属性的字体。达里尔 Visual Font Designer 显示如何使用此属性创建字体。