ComboBoxCellEditor 仅在失去焦点时设置值

ComboBoxCellEditor only setting value on focus lost

有没有办法在 ComboBoxCellEditor 中设置值,而不是当焦点在单元格上丢失时?我在 TreeViewer 中一列的每个单元格中使用它,唯一调用 setValue 方法的时间是当焦点在单元格上丢失时。因此,当用户进行选择但未单击单元格时,该值永远不会设置为新选择。我已经尝试在 ComboBoxCellEditorComboBoxCellEditor 的控件上添加侦听器,但似乎没有任何选择事件。

我发现我需要将控件转换为 Combo,以便将正确类型的侦听器添加到 ComboBox 单元格编辑器。这是我所做的:

CCombo combo = (CCombo) cellEditor.getControl();

combo.addSelectionListener(new SelectionListener()
{

    @Override
    public void widgetSelected(SelectionEvent paramSelectionEvent)
    {
        //selection code here...
    }

    @Override
    public void
        widgetDefaultSelected(SelectionEvent paramSelectionEvent)
    {
        //do nothing here...
    }
});