import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StyleRange;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class SetDifferentStyles {
public static void main(String[] args) {
final Display display = new Display();
final Shell shell = new Shell(display);
final StyledText styledText = new StyledText(shell, SWT.V_SCROLL | SWT.BORDER);
styledText.setText("asdfasdfasdfasdf12345678910234567890");
// Turn all of the text orange, with the default background color
styledText.setStyleRange(new StyleRange(0, 9, display.getSystemColor(SWT.COLOR_GREEN), null));
// Turn "Gators" blue
styledText.setStyleRange(new StyleRange(3, 6, display.getSystemColor(SWT.COLOR_WHITE), null));
styledText.setBounds(10, 10, 500, 100);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
}
Colors used must be valid (not disposed) for the life of the StyleRanges.
The offsets and lengths of the StyleRanges must be within the range of existing text-when created.