好的,我的问题很简单。我可以在EventPreview
课程中为SelectionEvent
添加Tree
之类的内容吗?
我需要它,因为在树元素之间切换初始化屏幕的其他部分可能并不总是可能的(例如要求cofirmation)......
structTree.addSelectionHandler(new SelectionHandler<TreeItem>() {
@Override
public void onSelection(SelectionEvent<TreeItem> event) {
// Do something, or maybe cancel selection
}
});
如果我为EventPreview
添加ClickEvent
可能会有所帮助,但我想知道是否有更清洁的方式......
答案 0 :(得分:1)
EventPreview
已弃用,请改用NativePreviewHandler
和NativePreviewEvent
。
事件预览的想法是用户交互DOM事件 - 描述用户与浏览器交互时的物理操作的事件。这就是它取消ClickEvent
的原因。
相比之下,SelectionEvent
是一个逻辑事件 - 它来自于使用GWT代码,并描述了小部件从用户的“物理”事件中看到的意图。
但是,仍然有一种方法可以阻止SelectionEvent
发生,但它在GWT中使用不一致 - Tree
小部件不使用它,所以它不会帮助你时间。
其他小部件(例如TabLayoutPanel
和StackLayoutPanel
)会在实际BeforeSelectionEvent
关闭之前触发SelectionEvent
,让您有机会在选择实际发生之前cancel()
{{1}} 。