2014-03-19 24 views
1

我想设置一个特定的颜色到SWT部件org.eclipse.swt.widgets.Link,但我无法覆盖默认颜色。更改链接部件的文本颜色

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

回答

3

Link.setForeground设置正常的文字颜色,不能设置实际的链接颜色并使用OS默认值。

HyperlinkGroup一起使用的窗体控件org.eclipse.ui.forms.widgets.HyperlinkImageHyperlink确实允许设置颜色(和下划线)。

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

+0

我不能这样做,becasue我希望它被强调。你能想出一种可点击的方式(光标变化),下划线是白色的文字吗? – Link19