Как подчеркнуть текст в draw2d
Вопрос
Есть ли простой способ нарисовать подчеркнутый текст в draw2d, не рисуя линию под текстом вручную?
Решение
После небольшого исследования выяснилось, что подчеркнутый текст изначально не поддерживается в 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);
}
Другие советы
Используйте шрифт с атрибутом подчеркивания.Дэррила Визуальный дизайнер шрифтов показывает, как создать шрифт с этим свойством.
Не связан с StackOverflow