`
wang7839186
  • 浏览: 42400 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

zk框架之Event Handling

阅读更多

event是用来抽象事件的,在这里我们将讨论怎么去操纵event,比如说listening,posting,forwarding

 

Event Listening

有两种方式可以监听事件:Event Hanler and Event Listener。

 

Listen by use of an Event Handler

我们可以在zk page中将handler指定为一个属性或者在scr中写一个component class

<button onClick="alert('hello world')"></button>

重要的内置变量:

self - 接收event的组件,在这个例子中就是接收onClick事件的button

event - 被接收的时间,在这个例子中就是MouseEvent的实例

它有优点和缺点:

Advantage:

1、改变代码无需重新编译和重新加载应用;

2、如果代码少的话是容易维护的

Disadvantage:

1、运行速度慢;

2、编译错误不能被提前发现;

3、在ui中混杂事务处理代码是难以维护的

 

Declare an Event Handler in java

我们可以用java代码的方式来实现:

public class MyButton extends Button{

public void onClick(){

Messagebox.show("hello "+event.getName());

}

}

用java代码的方式实现event handler,官方建议是在组件开发时用,因为对开发人员来说,它是隐含的。

 

Listen by Use of an Event Listener

event listener实现自EventListener

 

 

public class MyListener implements EventListener{

@Override

public void onEvent(Event event) throws Exception {

Messagebox.show("hello world");

}

}

 

btn.addEventListener("onClick",new MyListener());

 

但是如果组件很多的时候,这样人工一个一个添加Listener是很麻烦的,因此zk提供了一种可以自动根据id连线的方式来监听:

 

public class MyComposer extends GenericForwardComposer{

private static final long serialVersionUID = -6441175297617827574L;

public void onClick$hi(){

try {

Messagebox.show("hello");

} catch (InterruptedException e) {

e.printStackTrace();

}

}

public void onClick$bye(){

try {

Messagebox.show("goog bye");

} catch (InterruptedException e) {

e.printStackTrace();

}

}

public void onOK(){

try {

Messagebox.show("ok pressed");

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

然后再页面中,我们可以为window添加apply属性

 

<?page title="new page title" contentType="text/html;charset=UTF-8"?>

<zk>

<window title="new page title" border="normal" apply="com.jing.zk.MyComposer">

<textbox/>

<button id="hi" label="hi"></button>

<button id="bye" label="bye"></button>

</window>

</zk>

 

如果要讲Listener延迟,需要同时实现EventListener和Deferrable,当将一个listener延迟后,就算这个监听器已经在页面中注册,但是也不会马上返回服务器,只有当另一个non-deferrable的listener到来时,才回跟随它一起返回,而且是有顺序的。

当我们为page添加listener的情况下,都是延迟的,无论是否实现了deferrable

分享到:
评论

相关推荐

    ZK框架:Ajax开发实战

    由于提供的文件信息中,有关股票知识的部分占据了大部分内容,而与标题“ZK框架:Ajax开发实战”相关的内容并未在文件中明确出现,因此无法直接从给定的文件信息中生成与ZK框架和Ajax开发相关的内容。不过,我将基于...

    ZK框架开发手册

    ZK框架是一款用于Web开发的开源富客户端框架,它基于Java语言开发,并能够运行在服务器端。ZK框架允许开发者利用XUL(XML用户界面语言),通过简单的标记和脚本来创建复杂的Web界面。 首先,ZK框架的最新版本为...

    ZK框架 中文技术文档.rar

    ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 ...

    zk框架学习中文手册

    ZK框架是一个基于Java开发的轻量级Web应用框架,专为构建富客户端用户界面而设计。它将服务器端的业务逻辑与客户端的界面展示完美地融合在一起,提供了丰富的组件库,使得开发者能够轻松创建出交互性强、响应速度快...

    ZK框架学习总结.pdf

    ZK框架是一个基于Java的开源用户界面框架,专门用于构建富互联网应用程序(RIA)。该框架的核心特性是其基于Ajax的事件驱动引擎,允许开发者无需编写JavaScript代码就能实现动态和交互式的Web界面。ZK的主要优点在于...

    zk入门.web框架

    ZK 是一个基于 Java 的轻量级Web框架,专门用于构建富客户端的Web应用程序。它提供了丰富的用户界面组件和事件处理机制,使得开发者能够轻松创建交互式的Web应用。本篇文章将深入探讨ZK框架的基本概念、开发环境的...

    zk框架demo

    ZK框架的独特之处在于它结合了Ajax技术与桌面应用的交互体验,使开发者能够通过简单的代码实现复杂的用户界面。在本文中,我们将深入探讨ZK框架的核心特性、工作原理以及如何使用ZK进行Web应用开发。 **一、ZK框架...

    ZK框架的一些事件促发介绍

    #### 事件处理(Event Handling) ##### 事件监听(Event Listening) 在ZK框架中,事件监听是处理用户交互的核心。当用户与界面上的组件进行交互时(如点击按钮),会触发相应的事件。开发者可以通过注册事件监听器来...

    zk框架入门学习

    zk框架的入门介绍,刚开始学习和接触zk框架的伙伴可以看看,不错的资料

    关于zk框架的基于java的web学生管理系统开发

    现在zk是一个刚刚兴起的框架,网络上关于zk框架的资源还是很少的,我学习这个碰到了不少的问题,不过还是慢慢的解决了,上传我的运用zk框架基于java的一个web学生管理系统开发给大家参考,希望能对学习zk框架的朋友...

    ZK框架:Ajax开发实战3rar

    ZK框架 : Ajax开发实战1.rar

    ZK 框架整合的简单实例

    ZK(Zookeeper)框架是Apache的一个开源项目,主要用于分布式协调服务。它提供了一种可靠的、分布式的命名服务、配置管理、同步服务以及分组服务,广泛应用于大数据、云计算等领域。在实际开发中,有时我们需要将ZK...

    ZK资料学习zk框架的助手

    ZK,全称为ZooKeeper,是由Apache软件基金会开发的一个分布式协调服务框架,它为分布式应用提供一致性服务,包括命名服务、配置管理、集群管理、分布式锁等。本资料包是针对ZK框架的学习资源,旨在帮助用户深入理解...

    ZK框架 API

    ZK框架官方API,目前国内很少有这方面的资料!

    zk框架全解 有示例

    1. **组件库**:这是zk框架的核心之一,提供了丰富的预定义组件供开发者使用。这些组件覆盖了大多数常见的用户界面需求,从基本的按钮到复杂的表格和树形视图。 2. **Ajax支持**:zk的一个显著特点是其对Ajax的强大...

    zk框架中的注解使用

    zk框架中的一些注解使用,项目中的需要用到的,各位可以了解一下,希望可以帮到大家!今后可以多交流,相互学习,共同进步。

    ZK框架:Ajax开发实战.pdf

    ZK框架:Ajax开发实战.pdf ZK框架:Ajax开发实战.pdf

    ZK框架_J2EE技术(有胜于SSH的WEB与手机框架)

    ZK框架是一款基于Java开发的开源用户界面框架,专门用于构建富互联网应用程序(RIA),尤其在J2EE环境中表现出色。它提供了一种简洁而高效的方式,使得开发者能够轻松地创建出具有高度交互性和响应性的Web应用,同时...

    zk框架开发中遇到的错误整理2

    ### zk框架开发中遇到的错误整理 #### 一、`TripleRuntimeException:nameisnotexisted:CStaff` **问题描述**: 在使用zk框架开发过程中遇到了一个名为`TripleRuntimeException:nameisnotexisted:CStaff`的异常。这...

Global site tag (gtag.js) - Google Analytics