我应该什么时候使用GWT小部件(解释)?

我应该什么时候使用GWT小部件(解释)?,gwt,optimization,widget,Gwt,Optimization,Widget,我正在做一个GWT应用程序,speed tracer说绘制过程需要很长时间,因此在阅读:Google 2010-IO会话(“使用GWT进行性能设计”)的pdf时,会出现以下句子: 我应该什么时候使用小部件? 当组件必须接收事件和 无法捕获父窗口小部件中的事件 我同意第一个条件(我想使用小部件,因为我的组件,如文本框或图像,必须接收事件,如MouseOver、MouseClick…),但我的问题涉及第二个条件。事实上,我不理解在这种情况下,应该没有办法捕获父窗口小部件中的事件,因为使用Javasc

我正在做一个GWT应用程序,speed tracer说绘制过程需要很长时间,因此在阅读:Google 2010-IO会话(“使用GWT进行性能设计”)的pdf时,会出现以下句子:

我应该什么时候使用小部件?
当组件必须接收事件和
无法捕获父窗口小部件中的事件

我同意第一个条件(我想使用小部件,因为我的组件,如文本框或图像,必须接收事件,如MouseOver、MouseClick…),但我的问题涉及第二个条件。事实上,我不理解在这种情况下,应该没有办法捕获父窗口小部件中的事件,因为使用Javascript(“始终”)可以访问任何操纵DOM的元素/组件。在这里,我假设使用Javascript,我可以访问小部件(用ui:field标识,例如在ui:binder中)元素和DOM元素(用id=“”)标识)

那么,你能告诉我为什么我错了,或者给我一个“无法在父窗口小部件中捕获事件”的例子吗

谢谢你,

这更多的是关于“没有简单的方法可以将捕获事件的代码放到父窗口小部件中”。这都是关于组件化的:您不想将事件处理代码放在组件外部,也不想让事件处理代码附加到组件外部的元素。所以组件仍然是小部件,但它们内部尽量使用HTML和事件冒泡

实际上,这意味着在复合材料中使用
HTMLPanel
(或者
RenderablePanel
,如果您使用2.5.0 RC1并且您有点冒险的话,则可以获得更好的性能),或者使用
CellWidget
(以便于处理从特定子元素冒泡而来的事件)

更多的是关于“没有简单的方法将捕获父窗口小部件中事件的代码放到父窗口小部件中“。这都是关于组件化的:您不希望将事件处理代码放在组件外部,也不希望将事件处理代码附加到组件外部的元素。所以组件仍然是小部件,但它们内部尽量使用HTML和事件冒泡

实际上,这意味着在复合材料中使用
HTMLPanel
(或者
RenderablePanel
,如果您使用2.5.0 RC1并且有点冒险的话,则可以获得更好的性能),或者使用
CellWidget
(使用以使处理从特定子元素冒泡的事件变得更容易)