Come sottolineare il testo in draw2d
Domanda
C'è un modo semplice per disegnare testo sottolineato in draw2d senza disegnare manualmente una linea sotto il testo?
Soluzione
Dopo un po 'di ricerca, sembra che il testo sottolineato non è supportato in modo nativo in Draw2D dal font SWT sono oggetti di livello operativo e non tutti i sistemi operativi supportati da SWT supporta testo sottolineato. Sembra che la cosa migliore è quella di creare un metodo che disegna testo sottolineato manualmente. Forse è qualcosa che andranno aggiunte in SWT tardi.
Ecco quello che ho finito per usare (più o meno):
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);
}
Altri suggerimenti
utilizzare un carattere con un attributo sottolineatura. di Darryl visiva dei caratteri Designer mostra come creare un font con questa proprietà.