forward属性一起使用

window通常由一些按钮,菜单项目和其他组件组成。例如,

<window use="MyWindow">
   ...
   <button label="OK"/>
   <button label="Cancel"/>
</window>

当用户点击按钮时,onClick事件会被送至按钮本身。但是这些事件最好在window内处理而不是散落这些按钮。为了这样,你可以按如下方式使用forward属性。

<window use="MyWindow">
   ...
   <button label="OK" forward="onOK"/>
   <button label="Cancel" forward="onCancel"/>
</window>

在这里OK按钮的forward属性指定接收onClick事件后将其作为onOK 事件转向空间所有者(例如,window)。同样,针对Cancel 按钮的onClick事件会转向onCancel事件。因此你可以在MyWindow 命名空间内处理onOKonCancel事件,如下。

public class MyWindow extends Window {
   public void onOK() {
      //called when the OK button is clicked (or the ENTER button is pressed)
   }
   public void onCancel() {
      //called when the Cancel button is clicked (or the ESC button is pressed)
   }
}

除了将onClick事件forward至空间所有者,你可以使用forward属性将任何事件forward至任何组件。参考ZK用户界面标记语言一章中forward属性一节。