smartgwt_SmartGWT入门,提供出色的GWT界面

smartgwt

SmartGWT简介

我最近开始使用SmartGWT ,它是一个基于GWT的框架,该框架为您的应用程序UI提供了一个全面的小部件库,并为服务器端的数据管理提供了帮助。 您可以在SmartGWT展示柜上查看其漂亮的功能。 我准备了一个简短的“入门”指南,介绍如何将库与GWT项目集成(假设您已经安装了GWT SDK和Eclipse的Google插件 )。 请注意,Smart GWT与GWT 1.5.3,GWT 1.6.4,GWT 1.7.x和GWT 2.0.x兼容。

创建GWT项目

第一步是从下载部分下载库。 我将在本教程中使用的版本是2.1(直接从此处下载)。 解压缩ZIP文件,并在新目录中找到框架的文档,一些示例,“ Hello World”示例以及必要的JAR文件。 在新的浏览器选项卡中打开JavaDocs 。

接下来,我们在Eclipse中创建一个新的“ Web应用程序项目”。 为项目选择适当的名称“ SmartGWTIntroProject”,并选择合适的包装。 确保已选中“使用Google Web Toolkt”复选框(不需要Google的App Engine,因此请不要选择该复选框)。 该向导将如下所示:

添加SmartGWT库

创建项目框架之后,浏览文件系统到项目位置,然后创建一个名为“ lib”的新文件夹。 将解压缩的ZIP中的“ smartgwt.jar”文件复制到新创建的文件夹中,并在Eclipse中刷新项目,以便新文件出现在此处。 然后配置项目的类路径以包含JAR文件(“项目”→“属性”→“ Java构建路径”→“添加JAR”…)。 到目前为止的标准东西。 Eclipse中的扩展项目应如下所示:

然后编辑模块xml文件(名为“ SmartGWTIntroProject.gwt.xml”),并在标准“继承”声明之后添加以下行:

<inherits name="com.smartgwt.SmartGwt"/>

模块xml文件将是:

<?xml version="1.0" encoding="UTF-8"?>
<module rename-to='smartgwtintroproject'>
<!-- Inherit the core Web Toolkit stuff.                        -->
<inherits name='com.google.gwt.user.User'/><!-- Inherit the default GWT style sheet.  You can change       -->
<!-- the theme of your GWT application by uncommenting          -->
<!-- any one of the following lines.                            -->
<!-- <inherits name='com.google.gwt.user.theme.standard.Standard'/> -->
<!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
<!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/>     --><!-- Other module inherits                                      --><inherits name="com.smartgwt.SmartGwt"/><!-- Specify the app entry point class.                         -->
<entry-point class='com.javacodegeeks.smartgwt.client.client.SmartGWTIntroProject'/><!-- Specify the paths for translatable code                    -->
<source path='client'/>
<source path='shared'/></module>

这使GWT知道您的应用程序将使用SmartGWT库。

更新:“ com.google.gwt.user.theme.standard.Standard”声明应像上面一样被删除或注释掉,因为它与某些SmartGWT样式冲突。

之后,在“ war”文件夹中找到主HTML。 编辑它,并在编译的模块声明之前添加以下行:

<script>var isomorphicDir="smartgwtintroproject/sc/";</script>

更新:从2.2版开始,不再需要定义isomorpihcDir值。 查看Smart GWT 2.2的发行说明 。 但是,对于本教程(使用2.1版),需要声明。

在同一文件中,向下滚动并找到以下几行:

<td id="nameFieldContainer"></td>
<td id="sendButtonContainer"></td>

将其替换为以下内容:

<td id="formContainer"></td>
<td id="buttonContainer"></td>

这些是将包含文本项HTML元素以及稍后将添加的按钮。

完整HTML文件如下:

<!doctype html>
<!-- The DOCTYPE declaration above will set the    -->
<!-- browser's rendering engine into               -->
<!-- "Standards Mode". Replacing this declaration  -->
<!-- with a "Quirks Mode" doctype may lead to some -->
<!-- differences in layout.                        --><html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"><!--                                                               -->
<!-- Consider inlining CSS to reduce the number of requested files -->
<!--                                                               -->
<link type="text/css" rel="stylesheet" href="SmartGWTIntroProject.css"><!--                                           -->
<!-- Any title is fine                         -->
<!--                                           -->
<title>Web Application Starter Project</title><!--                                           -->
<!-- This script loads your compiled module.   -->
<!-- If you add any GWT meta tags, they must   -->
<!-- be added before this line.                -->
<!--                                           -->
<script>var isomorphicDir="smartgwtintroproject/sc/";</script>
<script type="text/javascript" language="javascript" src="smartgwtintroproject/smartgwtintroproject.nocache.js"></script>
</head><!--                                           -->
<!-- The body can have arbitrary html, or      -->
<!-- you can leave the body empty if you want  -->
<!-- to create a completely dynamic UI.        -->
<!--                                           -->
<body><!-- OPTIONAL: include this if you want history support -->
<iframe src="javascript:''" id="__gwt_historyFrame" tabIndex='-1' style="position:absolute;width:0;height:0;border:0"></iframe><!-- RECOMMENDED if your web app will not function without JavaScript enabled -->
<noscript>
<div style="width: 22em; position: absolute; left: 50%; margin-left: -11em; color: red; background-color: white; border: 1px solid red; padding: 4px; font-family: sans-serif">Your web browser must have JavaScript enabled
in order for this application to display correctly.
</div></noscript><h1>
Web Application Starter Project</h1><table align="center">
<tr>
<td colspan="2" style="font-weight:bold;">Please enter your name:</td>        
</tr><tr>
<td id="formContainer"></td>
<td id="buttonContainer"></td>
</tr><tr>
<td colspan="2" style="color:red;" id="errorLabelContainer"></td>
</tr></table></body>
</html>

创建应用程序入口点

通过Eclipse创建GWT时,会创建许多自动生成的文件。 其中之一是“客户端”包中的主要Java文件,该文件用作应用程序的入口点。 因此,删除生成的代码并添加以下内容:

package com.javacodegeeks.smartgwt.client.client;import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootPanel;
import com.smartgwt.client.util.SC;
import com.smartgwt.client.widgets.IButton;
import com.smartgwt.client.widgets.events.ClickEvent;
import com.smartgwt.client.widgets.events.ClickHandler;
import com.smartgwt.client.widgets.form.DynamicForm;
import com.smartgwt.client.widgets.form.fields.TextItem;public class SmartGWTIntroProject implements EntryPoint {public void onModuleLoad() {final DynamicForm form = new DynamicForm();final TextItem textItem = new TextItem();textItem.setTitle("Name");form.setFields(textItem);final IButton button = new IButton("Hello");button.addClickHandler(new ClickHandler() {public void onClick(ClickEvent event) {String name = textItem.getValue().toString();SC.say("Hello " + name);}});RootPanel.get("formContainer").add(form);RootPanel.get("buttonContainer").add(button);}}

确保导入的软件包如上所示,因为SmartGWT使用的名称与核心GWT框架的名称相同的类。

启动应用程序
接下来,我们准备启动我们的应用程序。 选择运行? 运行为? Web应用程序,然后使用您喜欢的浏览器访问提供的URL:

http://127.0.0.1:8888/SmartGWTIntroProject.html?gwt.codesvr=127.0.0.1:9997

您应该能够看到以下内容:

而已。 现在您可以创建一些由SmartGWT支持的出色应用程序。 您可以在此处找到Eclipse项目(某些文件已从项目中删除)。

这只是有关如何向您的项目中添加SmartGWT的简短指南。 在以下文章中,我将基于SmartGWT创建一个完整的应用程序,以向您展示其一些出色的功能。 敬请关注。

相关文章 :
  • 高级SmartGWT教程,第1部分
  • 将CAPTCHA添加到您的GWT应用程序
  • 使用Spring Security保护GWT应用程序的安全
  • GWT 2 Spring 3 JPA 2 Hibernate 3.5教程– Eclipse和Maven 2展示
  • 建立自己的GWT Spring Maven原型
  • GWT EJB3 Maven JBoss 5.1集成教程

翻译自: https://www.javacodegeeks.com/2010/06/getting-started-smartgwt-gwt-interfaces.html

smartgwt

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

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

相关文章

Beaglebone Back学习五(PWM测试)

PWM测试 参考链接 1 Enable PWM on BeagleBone with Device Tree overlays 2 Using PWM on the Beaglebone Black 3 Beaglebone Coding 101: Buttons and PWM 4 Using PWM outputs 5 beaglebone-black-cpp-PWM 6 Enabling PWM Support in the kernel 7转载于:https://www.cnblo…

CUBA平台的理念

最近发生了很多事。 在CUBA于6月1日正式发布之后&#xff0c;我们推出了一个新版本&#xff0c;在一些Java网站上发布了我们的第一篇文章&#xff0c;并在伦敦的Devoxx UK会议上介绍了该平台 。 但是在热潮继续之前&#xff0c;大约是时候阐明CUBA背后的哲学了。 与企业软件开…

Android 绘制动态图

最近准备技能大赛&#xff0c;需要将从传感器中读出的数据在移动客户端以图的形式绘制出来&#xff0c;因为平时很少绘图&#xff0c;于是各种查资料&#xff0c;算是勉强做出来了。 以下是大赛理论效果图&#xff08;左&#xff09;和实际效果图&#xff08;右&#xff09;&am…

$(document).ready() 和 window.onload 方法比较

说明 页面加载文档完毕后&#xff0c;浏览器会通过 Javascript 为 DOM 元素添加事件。 Javascript 使用 window.onload 方法&#xff0c;而 jQuery 使用 $(document).ready() 方法。 $(document).ready() 方法可以极大的提高 Web 应用程序的相应速度&#xff0c;因为该方法可以…

java undo_用JAVA实现Undo、Redo,Copy、Paste、Cut_java

programlover原作package clipborad;import javax.swing.JTextArea;import java.awt.datatransfer.*;import java.awt.*;import javax.swing.*;import java.io.*;import javax.swing.undo.*;http://www.gaodaima.com/64851.html用JAVA实现Undo、Redo,Copy、Paste、Cut_javaimpo…

项目管理控件Project Management Library

Project Management Library是一款项目管理控件&#xff0c;包含了项目管理相关的Windows客户端控件,如&#xff1a;ProjectView, ResourcesView, ScheduleView, StatisticsView。支持所有.NET语言&#xff0c;可以用于Windows桌面应用程序,具有标准的界面和操作自定义设置、拖…

ios 查询mysql数据库操作系统_iOS数据库FMDB--增删改查(模糊查询)详细介绍

简介&#xff1a;很早就想整理一下数据库的使用了&#xff0c;刚好最近接触较多&#xff0c;加之可以安排出空余的时间&#xff0c;所以瓜子我贡献出自己喝咖啡的时间整理一下FMDB的使用&#xff0c;以下是对FMDB的介绍以及基本使用 --- insert、delete、update、select。其中s…

SQL Server 2008 R2如何生成带数据的数据库脚本

1.对想要复制的数据库右键&#xff0c;“任务”&#xff0c;“生成脚本” 2.下面需要注意的是&#xff0c;默认情况下&#xff0c;只会生成仅架构的脚本&#xff0c;也就是说仅仅有表结构&#xff0c;而没有数据的空壳。所以需要额外的设置。 在设置脚本编写选项&#xff0c;选…

java分页 jar_零基础学java之javaEE,分页

【分页】一 分页1.1分页概念引入什么是分页?分页(英语&#xff1a;Paging)&#xff0c;是一种操作系统里存储器管理的一种技术&#xff0c;可以使电脑的主存可以使用存储在辅助存储器中的数据。操作系统会将辅助存储器(通常是磁盘)中的数据分区成固定大小的区块&#xff0c;称…

查看修改MySQL字符集

查看修改MySQL字符集 http://blog.sina.com.cn/s/blog_70ac6bec01016fts.html 查看修改MySQL字符集 (2012-08-22 09:53:21) 转载▼标签&#xff1a; 字符集 mysql数据库 mysql字符集查看 mysql启动命令 修改mysql字符集 分类&#xff1a; 网站开发MySQL字符集多种多样…

java在线找错_平台配置及测试错误提示及解决方案

平台配置错误提示及解决方案开发者在点击提交服务的时候可能会遇到以下各种各样的问题&#xff0c;本文列举出部分平台会弹出的提示&#xff0c;以便解决提交出现的问题。1、 请完成分发国家配置原因&#xff1a;未选择分发国家或未保存解决&#xff1a;在配置-发布国家中&…

resteasy_Tomcat 7上具有RESTeasy JAX-RS的RESTful Web服务– Eclipse和Maven项目

resteasy开发Web服务的RESTful方法不断受到越来越多的关注&#xff0c;并且似乎正在将SOAP淘汰。 我不会讨论哪种方法更好&#xff0c;但是我相信我们都同意REST更轻量级。 在本教程中&#xff0c;我将向您展示如何使用RESTeasy开发RESTful服务以及如何将它们部署在Tomcat服务器…

【Java心得总结六】Java容器中——Collection

在【Java心得总结五】Java容器上——容器初探这篇博文中&#xff0c;我对Java容器类库从一个整体的偏向于宏观的角度初步认识了Java容器类库。而在这篇博文中&#xff0c;我想着重对容器类库中的Collection容器做一个着重的探索与总结。 Collection&#xff1a;一个独立元素的序…

php 文章读取_php实现获取文章内容第一张图片的方法

本文实例讲述了php实现获取文章内容第一张图片的方法。分享给大家供大家参考。具体分析如下&#xff1a;采用php获取文章内容的第一张图片方法非常的简单&#xff0c;我们最常用的是使用正则了&#xff0c;感兴趣的朋友可以参考一下下面这段代码。以下是关于选取文章中第一张图…

昨天帮同学的学校写了首校歌

转载于:https://www.cnblogs.com/del/p/3792526.html

php做一个微信退款,PHP实现微信申请退款流程实例代码

前面讲了怎么实现微信支付&#xff0c;详见博文&#xff1a;php实现微信支付(jsapi支付)流程 和ThinkPHP中实现微信支付(jsapi支付)流程。由于业务需求&#xff0c;还需要有微信退款&#xff0c;经过研究和摸索&#xff0c;也终于搞定了。前期准备&#xff1a;当然是搞定了微信…

gwt格式_使用Spring Security保护GWT应用程序的安全

gwt格式在本教程中&#xff0c;我们将看到如何将GWT与Spring的安全模块&#xff08;即Spring Security&#xff09;集成。 我们将看到如何保护GWT入口点&#xff0c;如何检索用户的凭据以及如何记录各种身份验证事件。 此外&#xff0c;我们将实现自定义身份验证提供程序&#…

K-Means算法Demo

简介&#xff1a;本Demo是参照这个网站上的Demo自己用Java实现的。将Java打包为Jar&#xff0c;再将Jar转为exe&#xff0c;源代码及程序Demo下载请点我。 K-Means算法简介 我尽量用通俗易懂但不规范的语言来描述K-Means算法。 K-Means算法是数据挖掘十大算法之一&#xff0c;是…

php 时间周期,php 的生命周期

1、PHP的运行模式&#xff1a;PHP两种运行模式是WEB模式、CLI模式。无论哪种模式&#xff0c;PHP工作原理都是一样的&#xff0c;作为一种SAPI运行。1、当我们在终端敲入php这个命令的时候&#xff0c;它使用的是CLI。它就像一个web服务器一样来支持php完成这个请求&#xff0c…

struts2与struts1整合,java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

原因&#xff1a;我往项目的WEB-INF/lib中导入了struts2基本的包&#xff0c;还有struts1的core包&#xff0c;以及struts2-strut1-plugin的包&#xff0c;但是没有导入commons-loggin-1.3.1这个包&#xff0c;如下图 我打开commons-loggin-1.3.1这个包看了一下&#xff0c;果然…