更改链接小部件的文本颜色

时间:2014-03-19 07:11:12

标签: java swt eclipse-rcp jface

我正在尝试为SWT小部件 org.eclipse.swt.widgets.Link 设置特定颜色,但我无法覆盖默认颜色。

有没有办法将默认颜色 RGB(0,51,153)更改为任何特定颜色。

2 个答案:

答案 0 :(得分:3)

Link.setForeground设置普通文本颜色,无法设置实际链接颜色并使用操作系统默认值。

org.eclipse.ui.forms.widgets.Hyperlink一起使用的表单控件ImageHyperlinkHyperlinkGroup允许设置颜色(和下划线)。

答案 1 :(得分: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();
}

看起来像这样:

enter image description here