GWT 开发入门

From: http://home.cnblogs.com/group/topic/47694.html

在使用GWT开发web程序时,首先得到GWT下载其SDK,目前的最新版为GWT 2.3。

  1. 安装插件,目前两大Java IDE: Eclipse 和 NetBeans都有其开发插件,建议使用Eclipse ,就我目前的经验,Eclipse版插件支持功能较为丰富些。在eclipse中安装步骤,插件安装URL:http://dl.google.com/eclipse/plugin/3.6,(或直接到GWT官网寻求帮助。),安装重启即可(不知道啥原因,现在在线安装时间有些长)。
  2. 新建项目,File -> New -> Google/Web Application Project, 新建GWT项目,弹出对话框,要求输入项目名称(Test)包路径(com.jinker.test)。在GWT SDK  选项中有一个是否使用Google 的 App Engine(Use Google App Engine),目前功能上不需要,可以不选。然后最下面有一个选项,询问是否生成样例代码(Sample code),因为这是我们第一个GWT项目,要弄懂项目结构,最好选上。
  3. 项目结构,建立好项目,看看其大概结构。
    Test
    |-----src
    |   |-----com.jinker.test
    |   |  |-----Test.gwt.xml
    |   |-----com.jinker.test.client
    |   |  |-----Test.java
    |   |-----com.jinker.test.server
    |   |-----com.jinker.test.shared
    |-----test
    |-----war
       |-----WEB-INF
       |   |----lib
       |   |----web.xml
       |-----Test.css
       |-----Test.html
    以上为其结构。
    因为新建项目时,选中了生成样例代码,插件自动帮我们创建了一个module(Test.gwt.xml)EntryPoint 程序入口点(Test.java)HTML主页(Test.html)
     在entrypoint里有方法onModuleLoad(), 该方法为程序运行启动时(页面加载时)被调用,在这里就可以些swing式的代码了。现在该方法内有许多示例代码,我们可以将其注掉,写我们自己的示例:
    Button button = new Button("Hello gwt");button.addClickHandler(new ClickHandler() {@Overridepublic void onClick(ClickEvent event) {Window.alert("Hello gwt");}});//将button添加进HTML DOM树 RootPanel.get().add(button);
    一个简单的示例就搞定了。
  4. 运行,Run -> Run As -> Web Application。在GWT 控制台上有一个链接,双击,或复制其到浏览器上。嗯,没找到我们加入的button,不急。现在我们在Eclipse运行时,是GWT Dev mode,所以要在浏览器上安装GWT plugin,只要点击 页面上的链接,安装插件后,刷新,“Hello gwt” button出现了,点击也会弹出对话框 ,OK。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/404932.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[C#反编译教程]001.Reflector.NET反编译工具 v8.5绿色版+注册机+注册教程

截图 下载地址 Reflector.NET反编译工具 v8.5绿色版注册机 下载地址:http://pan.baidu.com/s/1mgN1Cpi 密码:mx19 简介 .NET Reflector是一个类浏览器和反编译器,.NET Reflector可以分析程序集并向你展示它的所有秘密。.NET 框架向全世界引入…

[react] 函数式组件有没有生命周期?为什么?

[react] 函数式组件有没有生命周期?为什么? 没有生命周期 因为他没有继承React.Component 所以也不需要render() 个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌…

openOCD安装 极简教程

1、下载openOCD 官网下载:https://gnutoolchains.com/arm-eabi/openocd/我的FTP:openOCD 2、解压 3、添加环境变量 ->path 4、CMD运行openOCD 安装完成。

一起谈.NET技术,.NET4.0 之 Dynamic VS Reflection 效率

在我先前的文章中,不断的推广.NET4.0新特性。特别是.NET4.0 Dynamic 这个新特性。随之而来的问题也出现了—Dynamic 执行效率如何? 我们做开发的不光需要代码简洁,能够希望自己能够写出好的架构。还有一点非常重要的就是,我们的写…

在windows下写makefile编译代码

From: http://blog.163.com/xjming487126/blog/static/212951352007625114849843/ 在windows下写makefile编译代码 1.下载minGW 下载MinGW-5.0.0.exe,选择全安装。将minGW安装到F:\MinGW目录下。安装后将直接生成MSYS。运行MSYS即进入了一个linux模拟环境。如果是…

Javascript中函数声明与函数表达式的不同

定义函数的方式有两种:一种是函数声明,另一种是函数表达式。 函数声明的语法如下: 1 function functionName(arg0,arg1,arg2){ 2 //函数体 3 } 函数表达式的语法如下: 1 var functionName function(arg0,arg1,arg2){ 2 //函数…

arm-none-eabi-gcc 嵌入式交叉编译器安装 极简教程

1、下载arm-none-eabi-gcc win10 官网下载:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads我的FTP:arm-none-eabo-gcc 2、解压 3、添加环境变量 4、CMD运行 安装完毕&#xff0c…

[react] 路由切换时同一组件无法重新渲染的有什么方法可以解决?

[react] 路由切换时同一组件无法重新渲染的有什么方法可以解决? componentWillReceiveProps 个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

Oracle:使用ASM自动存储管理, 严重推荐

ASM 是Oracle 公司推出的专门用于oracle数据库系统的一种数据存储解决方案. 类似于OS的 软RAID,不过其在系统构架中的层次比较特殊,是直接服务于上层软件(asm)应用的,可以理解为 上下横跨 {硬件分区RAIDOS卷管理OS文件系统}的复合产物. 因其精简和优化了存储系统构架的实现,因而…

Ruby 的环境搭建及安装

上面粗略的介绍了下Ruby,本来不想安装这个的,原因是我是通过网站学习的,可在线编译。不过考虑到内容的全面性,还是尝试下。 参考了下别人的安装,try 一try. 首先因为我是windows 7 ,所以就下在相关的版本。…

vscode openOCD 配置Jlink 下载和调试STM32 教程

1、修改openOCD 的配置文件jlink.cfg 由于手头上的jlink 是swd接口,需要将openOCD的jlink.cfg修改,指定接口类型为swd。这里直接复制一份,然后修改,jlink-swd.cfg内容如下: adapter driver jlink transport select s…

[react] 组件卸载前,加在DOM元素的监听事件和定时器要不要手动清除?为什么?

[react] 组件卸载前,加在DOM元素的监听事件和定时器要不要手动清除?为什么? 定时器要在 componentWillUnmount 手动清除,直接绑定在JSX里的事件监听器不用,使用ref绑定的要清除 因为如果不清除定时器,组件…

Ansi、Unicode、UTF8字符串之间的转换和写入文本文件

转载请注明出处http://www.cppblog.com/greatws/archive/2008/08/31/60546.html 最近有人问我关于这个的问题,就此写一篇blog Ansi字符串我们最熟悉,英文占一个字节,汉字2个字节,以一个\0结尾,常用于txt文本文件 Uni…

小女也爱c#(3)--俄罗斯方块练习数组

学完c了,总算是有点收获了,自己写了个俄罗斯方块练习数组,在vc6.0控制台环境下编译通过. makehead.h int Makepanel(char Ary_Panel[][10]);void gotoxy(int x, int y);void BrushsScreen(char ary[][20]);int initializationShape();void Sh…

放松时刻——C#分割字符串

让我们来练习一下字符串的分割~把话倒过来说: private void change_button_Click(object sender, EventArgs e) {var after_text before_TextBox.Text?.Select(x>x.ToString()).ToArray();string result "";for (int i after_text.Length - 1; i &…

cmd 调用JLink.exe 下载程序

1、新建download.jlink脚本 loadbin "D:\Data\ARM\vstestPro\vscode_cubemx_testLED.bin" 0x08000000 r g qc 脚本指明待下载的bin文件位置,指明下载的FLash起始地址。 2、调用jlink 下载bin程序 "C:\Program Files (x86)\SEGGER\JLink_V502c\JL…

黑马程序员---JVM内存组成

java把内存分两种:一种是栈内存,另一种是堆内存1。在函数中定义的基本类型变量和对象的引用变量都在函数的栈内存中分配;2。堆内存用来存放由 new创建的对象和数组在函数(代码块)中定义一个变量时, java就在…

使用WCF建立起Silverlight客户端与服务端的桥梁

最近正在开发一个项目,需要应用到Silverlight以及数据库。在正式开工之前需要掌握将数据从服务端送到客户端的技术,我们采用建立WCF服务的方法。 “做中学”是最好的学习方法,真正实践之后学习者将会有更多的自信和把握,这种感觉将…

[react] <div onClick={handlerClick}>单击</div>和<div onClick={handlerClick(1)}>单击</div>有什么区别?

[react] <div onClick{handlerClick}>单击</div>和<div onClick{handlerClick(1)}>单击</div>有什么区别&#xff1f; 绑定函数有三种方法 1、constructor绑定constructor(props) {super(props);this.handleClick this.handleClick.bind(this); //构…