代码之家  ›  专栏  ›  技术社区  ›  Oleg Vazhnev

为什么禁用的SWT链接没有变灰?

  •  2
  • Oleg Vazhnev  · 技术社区  · 15 年前

    我禁用 org.eclipse.ui.forms.widgets.Hyperlink 控制我只是打电话 hyperLink.setEnabled(false) .

    然而,在那之后,链接看起来不像是禁用的控件。链接没有灰显(但我当然不能点击)。

    问题是:为什么链接没有灰显,我应该如何灰显禁用的链接?

    3 回复  |  直到 11 年前
        1
  •  0
  •   andyczerwonka    15 年前

    只需扩展超链接并设置默认颜色。或者,您可以创建一个复合委托,并转发接口(如果接口不是太大的话)——这可能更可取。

        2
  •  0
  •   Community    7 年前

    注意,除了 Santosh 是的 answer 具有 Eclipse 4.3 M6 ,您可以更轻松地恢复默认颜色,因为您现在有:

    添加了一个新常量(SWT_COLOR_LINK_FOREGROUND),它将返回所有平台上超链接的本机颜色。

    SWT link color

        3
  •  0
  •   Chandrayya G K    10 年前

    你有没有明确地设置灰色前景?

    可以使用以下帮助器方法:

    public static void setEnabled(Link link, boolean enable){
        if(link.isEnabled()!=enable){
            if(enable)
              link.setForeground(null); // resets to system's default color
            else
              link.setForeground(link.getDisplay().getSystemColor(SWT.COLOR_GRAY));
            link.setEnabled(enable);
        }
    }