如何在SWT中禁用CLabel(Windows)

时间:2010-12-07 14:32:35

标签: java swt

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

也许我可以使用setForeground()将其设置为灰色,但仍有一些问题/顾虑:  一个。我应该使用什么颜色?它会在各种平台上看起来都很好。  湾我需要在某处保存原始颜色,以便在再次“启用”时可以恢复。此外,我需要避免在禁用时调用setForeground()(来自其他代码)。

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

非常感谢!

1 个答案:

答案 0 :(得分:1)

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

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

和相应的

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