借助传统方法使用高级 GWT 控件
2010-03-09 00:00:00 来源:WEB开发网处理事件
在 JavaScript 中定义的事件处理程序可与用 Java 代码实现的方法相关联。清单 4 展示了网格控件的 onRowClicked 事件是如何调用 onRowSelect Java 函数的:
清单 4. 从 JavaScript 调用 Java 函数
public void onRowSelect(String index){
GWT.log("Row #" + index + "selected", null);
}
native JavaScriptObject init(JavaScriptObject myColumns, JavaScriptObject myData)/*-{
var widget = this;
try{
...
// set click action handler
$wnd.mygrid.onRowClicked = function(event, index){
widget.@com.mycompany.project.client.GwtGrid::onRowSelect(Ljava/lang/String;)(index);
};
...
}
catch(e){
$wnd.alert(e.description);
}
}-*/;
您必须使用如下表示法在 JavaScript 中引用 Java 方法: instance-expr.@class-name::method-name(param-signature)(arguments)
在调用实例方法时必须使用,在调用静态方法时必须去掉。
instance-expr
class-name 是类的完全限定名,方法在此类(或其子类)中声明。
param-signature 是这里指定的内部 Java 方法签名,但无此方法返回类型的尾随签名(因为不需要选择重载)。
arguments 是实际要传递给被调方法的参数列表。
使用 JavaScript 控件 API
如 清单 2 所示,实现 Java 类的 init 方法返回 JavaScriptObject,它代表一个网格实例。您可以将其作为一个类属性加以存储并随后在代码中引用,以调用 JavaScript 控件 API 方法。清单 5 展示了 Delete 按钮单击事件在 Java 代码中是如何处理的:
- ››传统的JavaScript事件处理函数
- ››传统javascript事件模型实现观察者模式
- ››传统企业如何白手起家有效抢占互联网营销制高点
- ››借助 BeanKeeper 快速实现对象持久化
- ››借助传统方法使用高级 GWT 控件
- ››借助 Ajax 自动保存 JSF 表单: 第 3 部分:保存 J...
- ››借助Word 2003文档窗口的任务窗格提高效率
- ››借助Powercfg命令 - 深入了解Windows 7中的电源选...
- ››借助Excel的视图和宏分类显示表单数据
- ››借助WebService实现多线程上传文件
- ››借助大视频战略 PPS领跑国内视频业
- ››借助常用符号 快速插入通栏分隔线
更多精彩
赞助商链接