1

我正在与 SWT 事件作斗争。

有没有办法在 aCombo关闭时得到通知?我需要知道它何时关闭并且选择没有改变。

我注意到有一个事件类型SWT.Collapse,但据我所知,这仅适用于TreeItems ( http://book.javanb.com/swt-the-standard-widget-toolkit/ch01lev1sec3.html )

如果有人可以给我一个提示,我会很高兴

4

1 回答 1

2

您可以在Javadoc页面上找到Events给定的可用列表。的s是:WidgetEventCombo

活动

DefaultSelection、Modify、Selection、Verify、OrientationChange

如果您只是在寻找一种方法来确定是否选择了新项目,只需聆听SWT.Selection并将其与最后选择的项目进行比较。SWT.Selection仅在实际选择项目时调用,而不是在Combo打开然后通过失去焦点而关闭时调用:

combo.addListener(SWT.Selection, new Listener()
{
    @Override
    public void handleEvent(Event arg0)
    {
        String currentSelection = combo.getItem(combo.getSelectionIndex());
        
        if(currentSelection.equals(oldSelection))
        {
            // Same item selected
        }
        else
        {
            // Different item selected
        }

        oldSelection = currentSelection;
    }
});
于 2013-09-27T10:14:20.483 回答