我正在尝试为SWT小部件 org.eclipse.swt.widgets.Link 设置特定颜色,但我无法覆盖默认颜色。
有没有办法将默认颜色 RGB(0,51,153)更改为任何特定颜色。
答案 0 :(得分:3)
Link.setForeground
设置普通文本颜色,无法设置实际链接颜色并使用操作系统默认值。
与org.eclipse.ui.forms.widgets.Hyperlink
一起使用的表单控件ImageHyperlink
和HyperlinkGroup
允许设置颜色(和下划线)。
答案 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();
}
看起来像这样: