`
kakaluyi
  • 浏览: 438890 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

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!");

 

Java代码 复制代码
  1. /**  
  2.  * @author 七月天  
  3.  *  
  4.  */  
  5.   
  6. public class Register implements EntryPoint {   
  7.     public void onModuleLoad() {   
  8.             Window.alert("This is my first Gwt Demo!");   
  9.         }   
  10. }  
/**
 * @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文件中加入

 

Java代码 复制代码
  1. <link href="js/resources/css/ext-all.css" rel="stylesheet" type="text/css"/>   
  2.   
  3. <script type="text/javascript" src="js/adapter/ext/ext-base.js"></script>   
  4.   
  5. <script type="text/javascript" src="js/ext-all.js"></script>  
<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文件中加入

Java代码 复制代码
  1. <inherits name="com.gwtext.GwtExt"/>  
<inherits name="com.gwtext.GwtExt"/>
 

<!---->五、 <!---->运行 GWT-Ext实例

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

 

Java代码 复制代码
  1. /**  
  2.  * @author 七月天  
  3.  *  
  4.  */  
  5. public class Register implements EntryPoint{   
  6.     public void onModuleLoad() {   
  7.         createComponents();   
  8.     }   
  9.   
  10.     private void createComponents() {   
  11.         final FormPanel frm = new FormPanel();   
  12.         frm.setDraggable(true);   
  13.         frm.setWidth(300);   
  14.         frm.setTitle("用户注册");   
  15.         frm.setPaddings(25);   
  16.   
  17.         TextField txtUsername = new TextField("用户名""username");   
  18.         TextField txtPassword = new TextField("密码""password");   
  19.         TextField txtEmail = new TextField("邮箱""email");   
  20.         TextField txtPhone = new TextField("电话""phone");   
  21.   
  22.         txtUsername.setRegex("^[a-zA-Z]*$");   
  23.         txtUsername.setRegexText("用户名必须为字母!");   
  24.         txtUsername.setAllowBlank(false);   
  25.   
  26.         txtPassword.setPassword(true);   
  27.         txtPassword.setRegex("^[a-zA-Z]*$");   
  28.         txtPassword.setRegexText("密码必须为字母!");   
  29.         txtPassword.setAllowBlank(false);   
  30.   
  31.         txtEmail.setVtype(VType.EMAIL);   
  32.         txtEmail.setVtypeText("请输入合法的邮箱地址!");   
  33.         txtEmail.setAllowBlank(false);   
  34.   
  35.         txtPhone.setRegex("^\\d*$");   
  36.         txtPhone.setRegexText("电话必须为数字!");   
  37.         txtPhone.setAllowBlank(false);   
  38.   
  39.         frm.add(txtUsername);   
  40.         frm.add(txtPassword);   
  41.         frm.add(txtEmail);   
  42.         frm.add(txtPhone);   
  43.   
  44.         Panel buttonPanel = new Panel();   
  45.         buttonPanel.setLayout(new HorizontalLayout(10));   
  46.   
  47.            
  48.         Button btnSave = new Button("保存");   
  49.         btnSave.addListener(new ButtonListenerAdapter() {   
  50.             public void onClick(Button button, EventObject e) {   
  51.                 if (frm.getForm().isValid()) {   
  52.                     MessageBox.alert("成功","信息提交成功!");   
  53.                 } else {   
  54.                     MessageBox.alert("错误","请验证输入的信息是否正确!");   
  55.                 }   
  56.             }   
  57.         });   
  58.   
  59.         Button btnClear = new Button("取消");   
  60.         btnClear.addListener(new ButtonListenerAdapter() {   
  61.             public void onClick(Button button, EventObject e) {   
  62.                 MessageBox.alert("取消""注册信息保存失败!");   
  63.             }   
  64.         });   
  65.   
  66.         buttonPanel.add(btnSave);   
  67.         buttonPanel.add(btnClear);   
  68.   
  69.         frm.add(buttonPanel);   
  70.   
  71.         RootPanel.get().add(frm);   
  72.     }   
  73. }  
/**
 * @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 ,如果有问题,请跟帖。想要更多的人帮助你,请先帮助更多的人

分享到:
评论
2 楼 kakaluyi 2009-12-03  
文章是转来的本来准备用GWT的,好久没登陆博客了。。。
这GWT后来没有用成,惭愧

1 楼 menglinxi 2009-11-16  
楼主,写的真详细,顶你.....。呵呵。第一步

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

我用的myeclipse,怎么做呢?能给出目录结构图吗?

相关推荐

    Gwt-ext学习笔记之基础篇

    Gwt-ext学习笔记之基础篇、安装、配置、例子。

    Gwt-Ext学习笔记之进级篇

    GWT-Ext 是基于 Google Web Toolkit(GWT)和 ExtJs 的功能强大的网页开发控件库。它非常适用于进行纯 Java 语言的富 Internet 应用的快速开发。本系列文章将详细讲解 GWT-Ext 的基本结构和功能特点,并通过代码示例...

    Gwt-ext学习笔记

    Gwt-ext学习笔记,Gwt-ext学习笔记,Gwt-ext学习笔记

    Gwt-Ext学习笔记之基础篇- www.hxiaseo.cn技术网站

    不用为界面烦恼了。使用JAVA语言开发WEB

    最好的gwt-ext学习资料

    最好的gwt-ext学习资料,适合初学者。

    (转载)GWT -EXT学习笔记-基础

    该文档是关于在eclipse下进行GWT开发的一个教程文档,与网上其他教程有所区别,此文档为基础篇,还有进阶和中级篇,建议用户先下载基础篇浏览过后再决定是否下载另外两篇~~

    非常好的gwt-ext培训教程

    GWT-Ext 是基于 Google Web Toolkit(GWT)和 ExtJs ...那么 GWT-Ext 就是在 GWT 的基础上,将 ExtJs 的 JavaScript 接口映射或者封装为 Java 的接口。在 Java 的环境下开发和调试开发表现层,可以大大提高开发的速度。

    GWT-ext 布局示例

    本文是 GWT-Ext 体验之旅系列 的第 3 部分,我们将体验各种布局管理器的效果,了解我们常用的布局管理器的编程方式和一些经验总结。在对树的介绍中,我们将从树的同步和异步方式的初始化到树的 一些特性进行详细介绍...

    (转载)GWT -EXT学习笔记-中级

    该文档是关于在eclipse下进行GWT开发的一个教程文档,与网上其他教程有所区别,此文档为中级篇,建议用户先下载基础篇浏览过后再决定是否下载另外两篇~~

    gwt-ext-选课系统

    gwt-ext-选课系统gwt-ext-选课系统gwt-ext-选课系统gwt-ext-选课系统

    GWT-Ext_体验之旅.doc

    GWT-Ext_体验之旅.doc GWT-Ext_体验之旅.doc GWT-Ext_体验之旅.doc

    GWT-Ext 控件演示

    GWT-Ext 控件演示 GWT-Ext 控件演示

    需要GWT-Ext 2.0.5来下

    GWT-Ext 2.0.5 has been released. Grab the distribution from the Downloads area. GWT-Ext 2.0.5 supports GWT 1.5 final (1.5.2), Firefox3 and Chrome.

    gwt-ext-tree

    gwt-ext-treegwt-ext-treegwt-ext-treegwt-ext-treegwt-ext-tree

    gwt-ex t学习必备资料

    gwt ext gwt-ext gwt-ex t学习必备资料gwt ext gwt-ext gwt-ex t学习必备资料gwt ext gwt-ext gwt-ex t学习必备资料gwt ext gwt-ext gwt-ex t学习必备资料gwt ext gwt-ext gwt-ex t学习必备资料gwt ext gwt-ext gwt-...

    GWT-Ext体验之旅

    这是一篇非常好的GWT-Ext的文章,讲解非常详细,从入门的讲解示例再到精通一应俱全,学习GWT-Ext的朋友可以看看

    GWT-EXT学习教程(中级)

    个人写的gwt-ext教程,希望对大家有用

    GWT-EXT2.0最佳实践教程,源代码打包供下载

    NULL 博文链接:https://kenter1643.iteye.com/blog/323084

Global site tag (gtag.js) - Google Analytics