GWT取消SelectionEvent

时间:2012-12-25 09:12:07

标签: gwt tree

好的,我的问题很简单。我可以在EventPreview课程中为SelectionEvent添加Tree之类的内容吗?

我需要它,因为在树元素之间切换初始化屏幕的其他部分可能并不总是可能的(例如要求cofirmation)......

structTree.addSelectionHandler(new SelectionHandler<TreeItem>() {
    @Override
    public void onSelection(SelectionEvent<TreeItem> event) {
        // Do something, or maybe cancel selection
    }
});

修改

如果我为EventPreview添加ClickEvent可能会有所帮助,但我想知道是否有更清洁的方式......

1 个答案:

答案 0 :(得分:1)

EventPreview已弃用,请改用NativePreviewHandlerNativePreviewEvent

事件预览的想法是用户交互DOM事件 - 描述用户与浏览器交互时的物理操作的事件。这就是它取消ClickEvent的原因。

相比之下,SelectionEvent是一个逻辑事件 - 它来自于使用GWT代码,并描述了小部件从用户的“物理”事件中看到的意图。

但是,仍然有一种方法可以阻止SelectionEvent发生,但它在GWT中使用不一致 - Tree小部件不使用它,所以它不会帮助你时间。 其他小部件(例如TabLayoutPanelStackLayoutPanel)会在实际BeforeSelectionEvent关闭之前触发SelectionEvent,让您有机会在选择实际发生之前cancel() {{1}} 。