AJAX设计策略(九)

使用GWTAJAX应用建立UI与在Java Foundation Classes/Swing (JFC/Swing)UI框架中建立UI相似。在被称为面板的虚拟容器中,你可以通过布置一系列GWT UI部件来安排用户接口。这就像在JPanel 等容器中通过放置UI组件来布置JFC/Swing应用的UI一样。GWT提供一个经常使用部件的库。你可以创建组合多种GWT部件的合成部件,或者创建你自己的部件。

GWT的事件模型延续了JFC/Swing模式。为使用响应事件的部件,你需要实现一个GWT监听接口。然后你调用事件的监听方法,传递部件的类型参数。例如,下面这个例子显示两个按钮,并当用户点击其中一个的时候调用onClick方法。

import com.google.gwt.user.client.ui.Composite;

import com.google.gwt.user.clinet.ui.Button;

import com.google.gwt.user.client.ui.ClickListener;

import com.google.gwt.user.client.ui.FlowPanel;

 

public class ListenerExample extends Composite implements ClickListener {

  private FlowPanel fp = new FlowPanel();

  private Button b1 = new Button("Button 1");

  private Button b2 = new Button("Button 2");

 

  public ListenerExample(){

    setWidget(fp);

    fp.add(b1);

    fp.add(b2);

    b1.addClickListener(this);

    b2.addClickListener(this);

  }

 

  public void onClick(Widget sender) {

    if (sender == b1) {

    //b1 click handler

    ...

 

    else (sender == b2) {

    //b2 click handler

    ...

    }

  }

}

 

 

使用GWT的正面和反面

正面

需要开发者使用Java语言建立AJAX应用。开发者不需要懂得JavaScript, CSS, DOMGWT Java-to-JavaScript编译器将客户端Java代码编译为JavaScript代码和HTML

提供GWT主机模式,这是一个能够执行调试的环境。你可以在主机模式运行你的AJAX应用程序。这允许你使用你的IDE调试设备测试和调试程序。

处理浏览器的不兼容性。GWT Java-to-JavaScript编译器生成适应浏览器的JavaScript代码,节省开发者为浏览器的不兼容性编程。

Google开发和支持。这意味着Google提供了有关使用GWT的良好文档和社区资源。

反面

生成的JavaScript代码有缺陷。虽然使用GWT不需要懂得JavaScript,你有时可能需要检查生成的JavaScript代码-例如,如果浏览器显示了一个JavaScript错误。对于不熟悉JavaScript的开发者,理解GWT生成的JavaScript代码可能有困难。也因为GWT生成JavaScript代码,你失去了对处理的精密控制。

 

更多信息

关于作者

Ed Ortjava.sun.com的专职成员。他写作范围广阔,涉及关系型数据库,编程语言,和web服务。

Mark Basler 是一位高级软件工程师,Java蓝图团队成员,协助创建Java Blueprints Solution Catalog Java Pet Store Demo 2.0,另外还有一些展示如何设计和开发AJAX WEB 2.0的相关应用程序。它的其他贡献包括设计和开发SUN下载中心的关键组件,电子商务套件,和Sun Java系统应用服务器。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值