2014-10-15 3 views
2

Я использую org.eclipse.swt.widgets.Combo класс и я делаю следующееКак сбросить комбо когда SWT.READ_ONLY

Combo myCombo = new Combo(container, SWT.READ_ONLY); 
myCombo.add("1"); 
myCombo.add("2"); 

//later on 
myCombo.setText(""); //will not work because READ_ONLY 

Пользователь выберет элемент комбо, и я обеспечиваю кнопку сброса, где я хочу значение, которое должно быть установлено равным null. Однако, согласно javadoc, метод setText игнорируется, когда приемник равен READ_ONLY. Мне нравится, что Combo читается только потому, что я хочу, чтобы пользователь выбирал то, что я предоставляю. Но я хочу, чтобы значение возвращалось к нулю или «если возможно». Могу ли я сделать это с помощью приемника только для чтения? Или что еще один хороший способ сделать это?

Спасибо!

ответ

4

Используйте combo.deselectAll() для сброса выбора.

В качестве альтернативы вы можете использовать:

combo.deselect(combo.getSelectionIndex()); 

В обоих случаях getSelectionIndex() вернет -1 впоследствии.

Эти методы выглядят так, как будто Combo поддерживает множественный выбор, которого нет. Как бы странно они ни появлялись, они сбросят выбор.

Смежные вопросы