`

GWT Wave 开源代码运行跑通分析(1)

    博客分类:
  • sns
阅读更多

单一布局回复的运行效果


div 窗口。有标题和关闭按钮。

 

 

GWT Wave 开源代码运行跑通分析(1)

Created Wednesday 13 April 2011

google 果然是大神。虽然早就知道 wave的代码开源了但是一直据没有跑通。

连编译都没有通过。不过最近终于有了点突破。

找到了一个demo的入口。

如上图第一个所示。借助GWT google 将ajax 做到了及至。同时弄的应用具复杂。

看这个代码看了很久了。好多地方没有太明白。

将学习理解的记录下来。

编辑器文件路径
org/waveprotocol/wave/client/wavepanel/impl/toolbar/images/edit
多种颜色边框,绿色,银色
org/waveprotocol/wave/client/wavepanel/view/dom/full/frame
聊天按钮,默认头像图片
org/waveprotocol/wave/client/wavepanel/view/dom/full/mock/
面板,添加,窗口图片
org/waveprotocol/wave/client/wavepanel/view/dom/full/
三种颜色,蓝色,白色,绿色,肉色button
org/waveprotocol/wave/client/widget/button/text/
添加,灯泡,最大最小关闭按钮。
org/waveprotocol/wave/client/widget/button/icon
wave破损图片,wave加载图片
org/waveprotocol/wave/client/gadget/renderer
附件加载,边框图片
org/waveprotocol/wave/client/doodad/attachment/render

没有使用其他的 ioc框架。和一般的系统不同 在client 下面的类都要转换成 javacript 代码。

google在 client 下面使用了大量的接口。

1)分析google的窗口构造。

创建一个桌面窗口。

// 桌面窗口
        DesktopPopupChrome desktopPopupChrome = new DesktopPopupChrome();
通过一个构造器DesktopPopupProvider创建窗口的弹出布局。

UniversalPopup desktopUniversalPopup = new DesktopPopupProvider()
                .createPopup(RootPanel.get().getElement(),
                        dropdownPopupPositioner, desktopPopupChrome, false);

这个 UniversalPopup 就是一个接口。

创建一个按钮是通过 工厂类创建的。

ClickButtonWidget iconButtonTemplateMin = ButtonFactory
                .createIconClickButton(IconButtonStyle.PANEL_MINIMIZE, "最小化",
                        new ClickButtonListener() {
                            @Override
                            public void onClick() {
                            }
                        });
变量 IconButtonStyle.PANEL_MINIMIZE 是类里面写死的常量。
不同数值代表不同的按钮图标。

创建一个桌面窗口的全部代码

2)创建一个聊天程序

 

// 桌面窗口
		DesktopPopupChrome desktopPopupChrome = new DesktopPopupChrome();
		// 显示标题栏
		desktopPopupChrome.enableTitleBar();

		desktopPopupChrome.setPixelSize(300, 300);

		DropdownPopupPositioner dropdownPopupPositioner = new DropdownPopupPositioner();
		UniversalPopup desktopUniversalPopup = new DesktopPopupProvider()
				.createPopup(RootPanel.get().getElement(),
						dropdownPopupPositioner, desktopPopupChrome, false);

		// 显示
		desktopUniversalPopup.show();
		// 设置标题
		desktopUniversalPopup.getTitleBar().setTitleText("1234");
		// 添加弹出窗口内容
		HTML html = new HTML("普通html组件");
		// html.setPixelSize(300, 300);
		desktopUniversalPopup.add(html);

		ClickButtonWidget iconButtonTemplateMin = ButtonFactory
				.createIconClickButton(IconButtonStyle.PANEL_MINIMIZE, "最小化",
						new ClickButtonListener() {
							@Override
							public void onClick() {
							}
						});
		desktopUniversalPopup.getTitleBar().addButton(iconButtonTemplateMin);

		ClickButtonWidget iconButtonTemplateMax = ButtonFactory
				.createIconClickButton(IconButtonStyle.PANEL_MAXIMIZE, "最大化",
						new ClickButtonListener() {
							@Override
							public void onClick() {
							}
						});
		desktopUniversalPopup.getTitleBar().addButton(iconButtonTemplateMax);

		ClickButtonWidget iconButtonTemplateClose = ButtonFactory
				.createIconClickButton(IconButtonStyle.PANEL_CLOSE, "关闭",
						new ClickButtonListener() {
							@Override
							public void onClick() {
							}
						});
		desktopUniversalPopup.getTitleBar().addButton(iconButtonTemplateClose);

 

 

 2) 代码/src/com/freewebsys/sns/client/TestTwo.java

是创建图1的代码。刚跑通。代码本身可能只是google的一个测试。

但是上面的回复。都可以用。效果都可以看到。

 


光标选中。

 



 点击回复。。

 



 传说中的盖楼。

 

 

 


程序比较大 37 MB ,超出上传的范围了。直接上传到googlecode的服务器上面了。
下子地址:


http://code.google.com/p/freewebsys/downloads/detail?name=GwtWave.2011.04.13.tar.gz

 

如果要运行程序需要使用google的GWT插件,安装使用参考google文档。

 

http://code.google.com/webtoolkit/usingeclipse.html

 

接下来继续研究Wave的代码。然后用GWT + wave 创建一个SNS 社区。

 

继续研究中。

  • 大小: 183.4 KB
  • 大小: 18.5 KB
  • 大小: 49 KB
  • 大小: 59.9 KB
  • 大小: 94.4 KB
分享到:
评论
2 楼 llh1985 2015-03-31  
wave牛人~~求联系~~~邮箱llh1985@163.com
1 楼 465272694 2011-11-05  
楼主,要帮忙么,留个联系方式,我在用gxt,能帮忙email我 465272694@qq.com

相关推荐

    gwt揭秘源代码

    1. **Java到JavaScript的编译**:GWT编译器将Java代码转化为高效的JavaScript,使得开发者可以用Java进行前端开发。 2. **代码分割**:为了提高加载速度,GWT支持按需加载部分代码,用户只需下载他们实际使用的功能...

    gwt入门项目代码

    GWT(Google Web Toolkit)是一个开源的Java SDK,允许开发者使用Java语言来编写富互联网应用程序(RIA),并自动编译成JavaScript,使得浏览器能够运行这些应用程序。GXT(Ext GWT)是Sencha公司开发的一个基于GWT...

    《GWT揭秘》试读:运行调试项目

    1. 使用GWT超级模拟器(Super Dev Mode):它允许热替换(Hot Swap),即修改Java代码后无需重新编译或刷新页面,改动即可实时生效。 2. 检查元素:利用浏览器的开发者工具检查UI元素,调整CSS样式,观察元素布局...

    把gwt放到tomcat运行

    1. **创建GWT项目**:首先,你需要使用GWT SDK创建一个新的GWT项目,这通常涉及使用Eclipse或IntelliJ IDEA等IDE,并设置GWT插件。 2. **编写GWT代码**:在项目中,开发者会编写Java类,这些类将被编译成JavaScript...

    gwt2.0.4+eclipse3.6创建web application project项目后无法运行的原因分析

    标题 "Gwt2.0.4+eclipse3.6创建web application project项目后无法运行的原因分析" 涉及的问题主要集中在Google Web Toolkit (GWT) 的版本2.0.4与Eclipse IDE 3.6之间的兼容性问题以及在创建Web Application Project...

    GwtDemo helloworld

    **GWT(Google Web Toolkit)** 是一个由Google开发的开源工具包,它允许开发者使用Java语言编写前端Web应用。GWT将Java代码编译成高效的JavaScript,使得开发者可以利用Java的强大功能和丰富的生态系统来构建复杂的...

    GWT开源项目pdune

    通过以上分析,pdune项目是一个使用GWT开发的开源项目,专注于表格显示和处理,具有完整的项目结构和文档,包括许可证信息、开发指南、版本记录以及构建自动化。它不仅提供了丰富的功能,还鼓励社区参与和贡献,是...

    GWT入门与经典实例解析源码

    GWT,全称为Google Web Toolkit,是一个开源的Java框架,用于构建和部署富互联网应用程序(RIA)。这个框架允许开发者使用Java语言编写客户端代码,并自动编译为高效的JavaScript,从而在浏览器端运行。GWT入门与...

    GWT

    标签“源码”和“工具”表明这篇博客可能探讨了GWT的源代码分析或者使用GWT开发的一些工具和技巧。通过阅读博文(链接已给出,但在这里无法直接访问),你可能会了解到如何解析和理解GWT的内部工作原理,以及如何...

    GWT入门 GWT中文教程

    GWT通过编译器将Java代码转换为高效的JavaScript,从而在客户端浏览器上运行。这个“GWT入门 GWT中文教程”压缩包包含了一系列资源,旨在帮助初学者快速理解和掌握GWT的开发技术。 首先,EXT-GWT2.0.1是EXT-GWT...

    gwt 练习 gwt学习

    GWT允许开发者使用Java语言编写客户端代码,然后通过编译器将其转换为优化过的JavaScript,以便在各种浏览器上运行。这个“gwt 练习 gwt学习”项目可能是为了帮助用户熟悉GWT的基本概念、开发流程和最佳实践。 在...

    GWT编写hello world

    **GWT(Google Web Toolkit)** 是一个由Google开发的开放源码的JavaScript开发框架,它允许Java开发者使用Java语言来编写Web应用,然后自动生成兼容各种浏览器的JavaScript代码。这个"Hello World"教程是GWT入门的...

    GWT快速开发(GWT) 是一个Java软件开发框架用于开发类似于Google Maps和Gmail的AJAX应用程序。GWT的设计参考Java AWT包设计,类命名规则、接口设计、事件监听等。你可以用Java编程语言开发你的界面,然后用GWT编译器将Java类转换成适合浏览器执行的...

    **Google Web Toolkit (GWT)** 是由Google推出的一款开源的Java开发框架,主要用于构建高度交互式的Web应用程序,特别是那些类似Google Maps和Gmail这样的AJAX应用。GWT的设计灵感来源于Java AWT包的设计理念,包括...

    GWT入门实例

    GWT 是一个开源的Java开发框架,它允许开发者使用Java语言来编写客户端的Web应用,然后自动编译成优化过的JavaScript代码。GWT通过提供丰富的API、组件库以及强大的开发工具,简化了构建复杂的、高性能的Web应用的...

    GWT反射

    GWT是一个开源框架,它允许开发者使用Java语言编写客户端Web应用,然后编译成高效的JavaScript代码运行在浏览器上。 【描述】:尽管GWT在编译时会进行优化,使得在JavaScript端执行的代码尽可能高效,但其原生不...

    firefox和 对应gwt插件

    GWT是一种开源的Java框架,允许开发者使用Java语言编写客户端Web应用程序,然后编译成优化的JavaScript代码。 **Google Web Toolkit (GWT)** GWT简化了Web应用开发流程,通过提供强大的工具集,如代码编辑器、...

    Google wave 源代码

    - **GWT (Google Web Toolkit)**:Google Wave客户端可能使用了GWT,这是一个允许使用Java进行Web应用开发的工具包,它会自动编译Java代码为优化过的JavaScript。 - **Ajax**:由于实时通信的需求,Google Wave可能...

Global site tag (gtag.js) - Google Analytics