Когда я использую setEnabled () в выпадающих списках (и его значение равно false), мне интересно, как я могу изменить цвет текста, чтобы он был черным, а не серым. Людям, для которых я и сам занимаюсь разработкой программного обеспечения, слишком трудно читать, и я не могу найти способ получить доступ к цвету текста. Исправить текстовые компоненты было легко, так как мне просто пришлось использовать setEditable (), который не окрашивал текст в серый цвет, но нет метода setEditable (), доступного для комбинированных списков в SWT.
Чтобы уточнить, я попытался переопределить метод, но он не будет использовать мой метод, вместо этого он использует унаследованный метод ниже ...
public void setEnabled (boolean enabled) {
checkWidget ();
/*
* Feature in Windows. If the receiver has focus, disabling
* the receiver causes no window to have focus. The fix is
* to assign focus to the first ancestor window that takes
* focus. If no window will take focus, set focus to the
* desktop.
*/
Control control = null;
boolean fixFocus = false;
if (!enabled) {
if (display.focusEvent != SWT.FocusOut) {
control = display.getFocusControl ();
fixFocus = isFocusAncestor (control);
}
}
enableWidget (enabled);
if (fixFocus) fixFocus (control);
}
Я не могу найти здесь код рисования текста, и теперь я немного запутался, так как я немного больше знаком с Swing, в котором есть UIManager.
в этом случае это будет выглядеть примерно так: UIManager.put ("ComboBox.disabledText", Color.black); Я не уверен, есть ли эквивалент для SWT ... Любая помощь очень ценится!