2010-12-07 2 views
2

CLabel.setEnabled (false), по-видимому, не выделяет ярлык.Как сделать CLabel в SWT отключенным (Windows)

Возможно, я могу использовать setForeground(), чтобы установить его в серый цвет, но есть еще несколько вопросов/проблем: a. Какой цвет следует использовать? Будет ли он выглядеть так же хорошо на разных платформах. b. Мне нужно будет сохранить исходный цвет где-нибудь, чтобы вернуть его, когда он снова включен. Также мне нужно избегать вызова setForeground() (из другого кода), пока он отключен.

Может ли кто-нибудь предложить лучшее решение? Или, по крайней мере, ответьте на вопрос a выше?

Спасибо!

+1

Вы используете приложение org.eclipse.swt.widgets.Label, его метод setEnabled делает компонент серым. – ozhan 2010-12-08 09:30:38

+0

Спасибо. Я не знал, что CLabel будет вести себя по-другому в этом аспекте. – RAY 2010-12-09 23:17:22

ответ

1

Если вы собираетесь меняющимся цветовым решением, вы можете попытаться получить системный цвет (который обычно будет зависеть от платформы) с одной из констант, определенных в SWT, например:

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

и соответствующий

Display.getDefault().getSystemColor(SWT.COLOR_TITLE_FOREGROUND) 
Смежные вопросы