Can HTML-Style Links be added to SWT StyledText?

java, jface, swt

Solution

Since JFace 3.5, there is a special style for links:

styleRange.underlineStyle = SWT.UNDERLINE_LINK;
styleRange.data = "http://www.google.com/";

This makes it much more simple to identify a link and you can store the URL in the style. As for automatically finding links, just look for the pattern `http://[^ ]` (blanks are not allowed in links) in the lines you get and add the style.

Problem

I know SWT has a Link class to create HTML a href style links as widgets, but I wast trying to find a way to make certain text in a StyledText control appear and function as a link. I feel like Eclipse does this in their code editor if you hold down control and hover over a method name, but I know the Eclipse java editor is much more complicated than a StyledText control.

Original source