Изменение цвета текста для виджета Ссылка

1

Я пытаюсь установить определенный цвет для SWT-виджета org.eclipse.swt.widgets.Link, но я не могу переопределить цвет по умолчанию.

Есть ли способ изменить цвет RGB по умолчанию (0, 51, 153) на любой конкретный цвет.

Теги:
eclipse-rcp
swt
jface

2 ответа

3

Link.setForeground устанавливает нормальный цвет текста, фактический цвет ссылки не может быть установлен и использует значения по умолчанию для ОС.

Элементы управления формы org.eclipse.ui.forms.widgets.Hyperlink и ImageHyperlink используемые совместно с HyperlinkGroup, позволяют устанавливать цвета (и подчеркивание).

0

Почему бы не использовать 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();
}

Выглядит так:

Изображение 174551

  • 0
    Я не могу этого сделать, потому что хочу, чтобы это было подчеркнуто. Можете ли вы придумать способ сделать кликабельный (измененный курсор) подчеркнутый фрагмент текста, окрашенный в белый цвет?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню