当焦点丢失在单元格上时,是否有其他方法可以在ComboBoxCellEditor中设置值?我在TreeViewer列的每个单元格中使用它,并且只有在单元格失去焦点时才调用setValue方法。因此,当用户进行选择并且不单击单元格时,该值永远不会设置为新选择。我试过在ComboBoxCellEditorComboBoxCellEditor的控件上添加侦听器,但似乎没有任何东西可以处理选择事件。

最佳答案

我发现需要将控件强制转换为CCombo才能向ComboBoxCellEditor添加正确的侦听器类型。这是我所做的:

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...
    }
});

07-28 14:24