【问题标题】:How to make a CLabel in SWT look disabled (Windows)如何使 SWT 中的 CLabel 看起来被禁用(Windows)
【发布时间】:2010-12-08 19:17:33
【问题描述】:

CLabel.setEnabled(false) 显然不会使标签变灰。

也许我可以使用 setForeground() 将其设置为灰色,但仍有一些问题/疑虑: 一个。我应该使用什么颜色?跨平台看起来是否一样好。 湾。我需要将原始颜色保存在某个地方,以便在它再次“启用”时可以恢复。我还需要避免在禁用时调用 setForeground()(来自其他代码)。

有人可以提出更好的解决方案吗?或者至少帮助回答上述问题?

非常感谢!

【问题讨论】:

  • 你可以使用 org.eclipse.swt.widgets.Label,它的 setEnabled 方法使组件变灰。
  • 谢谢。我不知道 CLabel 在这方面会有不同的表现。

标签: java swt


【解决方案1】:

如果您想要改变颜色的解决方案,您可以尝试使用SWT 中定义的常量之一获取系统颜色(通常取决于平台),例如:

Display.getDefault().getSystemColor(SWT.COLOR_TITLE_INACTIVE_FOREGROUND)

以及对应的

Display.getDefault().getSystemColor(SWT.COLOR_TITLE_FOREGROUND)

【讨论】:

  • 不幸的是,SWT.COLOR_TITLE_INACTIVE_FOREGROUND 在 Windows XP 中没有为 CLabel 显示正确的禁用颜色。它显示为淡灰色,与禁用的标签不同。
猜你喜欢
  • 2011-12-16
  • 1970-01-01
  • 2011-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-06
相关资源
最近更新 更多