Я пытаюсь установить определенный цвет для SWT-виджета org.eclipse.swt.widgets.Link, но я не могу переопределить цвет по умолчанию.
Есть ли способ изменить цвет RGB по умолчанию (0, 51, 153) на любой конкретный цвет.
Link.setForeground
устанавливает нормальный цвет текста, фактический цвет ссылки не может быть установлен и использует значения по умолчанию для ОС.
Элементы управления формы org.eclipse.ui.forms.widgets.Hyperlink
и ImageHyperlink
используемые совместно с HyperlinkGroup
, позволяют устанавливать цвета (и подчеркивание).
Почему бы не использовать Label
?
public static void main(String[] args)
{
final Display display = new Display();
final Shell shell = new Shell(display);
shell.setText("StackOverflow");
shell.setLayout(new FillLayout());
final Label link = new Label(shell, SWT.NONE);
link.setText("http://www.google.co.uk");
link.setToolTipText("http://www.google.co.uk");
link.setCursor(display.getSystemCursor(SWT.CURSOR_HAND));
link.setForeground(display.getSystemColor(SWT.COLOR_BLUE));
link.addListener(SWT.MouseUp, new Listener()
{
@Override
public void handleEvent(Event e)
{
Program.launch(link.getText());
}
});
shell.pack();
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
Выглядит так: