2008-05-10

Gwt-Ext学习笔记之基础篇

关键字: gwt ext google web toolkit cypal studio

 

 

Gwt-Ext学习笔记之基础篇

一、 安装 Cypal Studio工具

a.       下载 Cypal Studio http://code.google.com/p/cypal-studio/ ,解压后 Copy Eclipse目录下。

b.      配置 GWT Home目录,打开 Eclipse Window—Preferences—Cypal Studio 选择 Gwt的目录。

 

二、 建立一个名为 gwtext GWT项目

a.       新建一个动态 web项目, File—New—Other—Web—Dynamic Web Project,在 Configurations中选择 Cypal Studio GWT Project,其他的默认即可。

三、 创建 Module模型

a.       gwtext项目上点击右键 New—Other—Cypal Studio—Module,输入包名 org.gwtext.julycn,类名 Register

b.      org.gwtext.julycn包下面生产 client包、 server包、 public目录和 Register.gwt.xml Register.html

c.       Register.java onModuleLoad() 方法中加入 Window.alert("This is my first Gwt Demo!");

 

/**
 * @author 七月天
 *
 */

public class Register implements EntryPoint {
	public void onModuleLoad() {
			Window.alert("This is my first Gwt Demo!");
		}
}
 

d.      选择 Run—Open Run Dialog—Gwt Hosted Mode Application,选择 New,新建一个运行实例 gwtext, Project中选择 gwtext Module会自动选择所要运行的模型类。

e.      点击运行,会弹出 Google Web Toolkit运行窗口。

四、 配置 GWT-Ext环境

a.       下载 gwt-ext ext 资源

b.      加入 gwtext gwtext.jar ext资源

                                                               i.      gwtext-2.0.3目录下的 gwtext.jar加入到项目中。

                                                             ii.      在项目的 public目录中新建 js文件夹,然后把 ext-2.1目录下的 adapter目录、 resources目录和 ext-all.js ext-core.js导入到 js文件夹下。

c.       修改 HTML宿主页面 Register.html和模块配置文件 Register.gwt.xml

                                                               i.      Register.html文件中加入

 

<link href="js/resources/css/ext-all.css" rel="stylesheet" type="text/css"/>

<script type="text/javascript" src="js/adapter/ext/ext-base.js"></script>

<script type="text/javascript" src="js/ext-all.js"></script>
 

                                                             ii.      Register.gwt.xml文件中加入

<inherits name="com.gwtext.GwtExt"/>
 

五、 运行 GWT-Ext实例

a.       修改 Register.java模型文件 ,内容如下:

 

/**
 * @author 七月天
 *
 */
public class Register implements EntryPoint{
	public void onModuleLoad() {
		createComponents();
	}

	private void createComponents() {
		final FormPanel frm = new FormPanel();
		frm.setDraggable(true);
		frm.setWidth(300);
		frm.setTitle("用户注册");
		frm.setPaddings(25);

		TextField txtUsername = new TextField("用户名", "username");
		TextField txtPassword = new TextField("密码", "password");
		TextField txtEmail = new TextField("邮箱", "email");
		TextField txtPhone = new TextField("电话", "phone");

		txtUsername.setRegex("^[a-zA-Z]*$");
		txtUsername.setRegexText("用户名必须为字母!");
		txtUsername.setAllowBlank(false);

		txtPassword.setPassword(true);
		txtPassword.setRegex("^[a-zA-Z]*$");
		txtPassword.setRegexText("密码必须为字母!");
		txtPassword.setAllowBlank(false);

		txtEmail.setVtype(VType.EMAIL);
		txtEmail.setVtypeText("请输入合法的邮箱地址!");
		txtEmail.setAllowBlank(false);

		txtPhone.setRegex("^\\d*$");
		txtPhone.setRegexText("电话必须为数字!");
		txtPhone.setAllowBlank(false);

		frm.add(txtUsername);
		frm.add(txtPassword);
		frm.add(txtEmail);
		frm.add(txtPhone);

		Panel buttonPanel = new Panel();
		buttonPanel.setLayout(new HorizontalLayout(10));

		
		Button btnSave = new Button("保存");
		btnSave.addListener(new ButtonListenerAdapter() {
			public void onClick(Button button, EventObject e) {
				if (frm.getForm().isValid()) {
					MessageBox.alert("成功","信息提交成功!");
				} else {
					MessageBox.alert("错误","请验证输入的信息是否正确!");
				}
			}
		});

		Button btnClear = new Button("取消");
		btnClear.addListener(new ButtonListenerAdapter() {
			public void onClick(Button button, EventObject e) {
				MessageBox.alert("取消", "注册信息保存失败!");
			}
		});

		buttonPanel.add(btnSave);
		buttonPanel.add(btnClear);

		frm.add(buttonPanel);

		RootPanel.get().add(frm);
	}
}
 

b.      运行效果;点击如下按钮,查看效果

 

备注:本文只是一个简单的 Demo ,如果有问题,请跟帖。想要更多的人帮助你,请先帮助更多的人

评论
bh_nesta 前天
请问:为什么我的没有这项出来呢?

在 Configurations中选择 Cypal Studio GWT
kodak2005 2008-07-10
Cypal Studio解压后有三个jar文件,放到eclipse哪个目录下啊,我直接放到eclipse下找不到插件,放到eclipse\plugins下也找不到插件,怎么回事噢!对eclipse版本有要求吗?我eclipse3.3的版本
ddh9504 2008-07-08
ddh9504 写道
但我有个问题:


就是怎么能直接在tomcat里面跑呢?需要怎样调整目录结构?




谢谢,我自己已经明白了
cypal.studio.for.gwt

这个插件开发非常方便,部署到tomcat一键搞定(就是在创建工程时指定runtime即可)

其他照常运行,谢谢!!
ddh9504 2008-07-08
但我有个问题:


就是怎么能直接在tomcat里面跑呢?需要怎样调整目录结构?
ddh9504 2008-07-08
timer1983 写道
我的报这个错误
java.lang.NoClassDefFoundError: com/google/gwt/dev/GWTShell
Exception in thread "main"

PS:在myeclipse难道不行? 给个理由先



NO,不是不行,你操作有点失误。
就在这一步:
配置 GWT Home目录,打开 Eclipse的 Window—Preferences—Cypal Studio 选择 Gwt的目录。

GWT目录放的应该是gwt-windows-1.4.62.zip下面的文件,懒一点就是全部拿过去。

按照这样去做就没有问题了
ddh9504 2008-07-08
yuanzhaoabc 写道
我在eclipse3.2或3.3中集成了GWT-EXT 为何在Window—Preferences显示不出来呢?




Eclipse找不到插件怎么办?
有时启动Eclipse未加载插件,解决方法很多,总结一下:
  
  a 、 删除整个目录/eclipse/configuration/org.eclipse.update/,重启Eclipse
  
  b 、在启动Eclipse时带上 -clean参数
  如:d:\eclipse\eclipse.exe -clean
  
  c 、 如果Eclipse启动找不到插件了,解决办法: 在/configuration/config.ini文件中加入一行
  osgi.checkConfiguration=true
  这样它会寻找并安装插件,找到后可以把那行再注释掉,这样以后每次启动就不会因寻找插件而显得慢了。
ddh9504 2008-07-08
你的eclipse版本多少?我“配置 GWT Home目录,打开 Eclipse的 Window—Preferences—Cypal Studio 选择 Gwt的目录。”这一步实现不了呀,怎么办?
leewon 2008-07-07
楼主照你的方法做了,可是google的窗体报一下错误好像是jar文件的问题
[ERROR] Errors in 'jar:file:/D:/workspace/gwtext/WebContent/WEB-INF/lib/gwtext.jar!/com/gwtext/client/util/JavaScriptObjectHelper.java'
davidcen 2008-07-02
引用

liutianhao 前天
楼主,要是我要在基础篇里的那个例子中点击保存页面,然后跳转到你讲的中级篇里的显示数据的页面,该怎么做呢??
谢谢


我用一个jsni来解决这个问题,不知道大家还有没有更好的方法?
native void jumpUrl() /*-{ 
        $wnd.location.href="../com.xxx.sample.BasicComboBoxSample/BasicComboBoxSample.html";
    }-*/;

在onSuccess内调用.
liutianhao 2008-06-30
楼主,要是我要在基础篇里的那个例子中点击保存页面,然后跳转到你讲的中级篇里的显示数据的页面,该怎么做呢??
谢谢
liutianhao 2008-06-30
假如我要是点击保存然后页面跳转到显示页面(也就是你中级篇页面),那该改什么地方呢?
yuanzhaoabc 2008-06-17
我在eclipse3.2或3.3中集成了GWT-EXT 为何在Window—Preferences显示不出来呢?
fxbird 2008-06-15
我把你的代码copy进到我的类,只是名字不一样,gwtext是2.04,ext是2.1,运行时报gwtext只支持ext2.02,这是怎么回事?
fxbird 2008-06-15
为什么还要使用ext的js文件?单纯有gwtext的jar还不行?我们现在正在做的一个项目里js\ext这个目录下根本就没有东西,但是有js\sh这个目录并且里面有很多js文件,照样正常运行,这是为什么?
fxbird 2008-06-15
有没有gwtext的教程?英文的也行,连他们自己都不作个完整的教程,怎么学,难道让人一个一个地读例子的源代码?
linnet83 2008-06-13
用Cypal Studio,能够运行起来,但是不知道需要怎么配置才能在tomcat里面单步调试,麻烦指点一下,谢谢
angelic 2008-06-10
可以,刚试了试可以的,实现远程服务,客户端调用就可以,可能是我原来做错了吧,实现了远程服务也不行,现在可以了。
angelic 2008-06-10
在 GWT-EXT 中不能使用 java.net 包吗?
qing2000 2008-06-09
非常感谢作者的分享。
我有两个问题:
1.GWT生成后,用IE浏览器访问http://localhost:8888/com.withub.demo.Layout/Layout.html为什么不能打开? (GWT development shell那个可以浏览。)

2.中间的包名很长,我如果运用在某个项目上,比如http://localhost/myproject,页面是不是也只能用Public下的html?这个报名该如何处理?
qing2000 2008-06-09
非常感谢作者的分享。
我有两个问题:
1.GWT生成后,用浏览器访问http://localhost:8888/com.withub.demo.Layout/Layout.html为什么不能打开?

2.中间的包名很长,我如果运用在某个项目上,比如http://localhost/myproject,页面是不是也只能用Public下的html?这个报名该如何处理?
发表评论

提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则

您还没有登录,请登录后发表评论

julycn
搜索本博客
我的相册
0a46256d-c842-3a98-84ca-5ee90d4e18ae-thumb
untitled.JPG
共 12 张
存档
最新评论