- 浏览: 371417 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (148)
- java (89)
- flex (7)
- sns (3)
- jquery mobile gwt html5 (1)
- VirtualBox Centos 安装 (2)
- tomcat (1)
- nginx (2)
- centOS (7)
- memcache (2)
- hadoop (3)
- hbase (3)
- install (1)
- cloudera (3)
- tools (0)
- gen code (0)
- Mysql (2)
- KinderEditor (1)
- flash chart (1)
- ntsysv (1)
- hibernate search (2)
- compass (1)
- lucence (2)
- hibernate (1)
- jboss cache (0)
- 二级缓存 (1)
- maven (1)
- debian (1)
- go (1)
- golang (2)
- html5 (1)
最新评论
-
llh1985:
wave牛人~~求联系~~~邮箱llh1985@163.com ...
GWT Wave 开源代码运行跑通分析(1) -
zhengliming123:
[img][img][*][*][/flash][*]|[/i ...
hibernate Search 学习研究 附件是maven工程 -
di1984HIT:
写得很嗯好啊。
CentOS 安装 hadoop hbase 使用 cloudera 版本。(一) -
itfanr:
楼主写的真好 本地godoc
Golang 1.0 文档使用。godoc ,go 命令 学习 ,本地运行 gotour -
phe441:
灰常感谢楼主,爱死你了
URL rewrite 3.2 jar 和 文档 pdf 下载
使用的是google的插件.
最新的eclipse 3.5
gwt 版本是 1.7.
花了一天时间写点demo 看看这些组件都怎么使用的..
1
GWT1.7版本下面是不推荐使用Listener了.而改用Handler了.
似乎这样每一个button都可以添加子节点handler了.
然后在上面编写代码.
2
在内部类里面要调用父类的属性的时候.要添加fianl字段.
但是这并不是说这个类不可修改.这类的属性可以修改.
3.要是保存临时数据.
可以通过创建数组的方式去实现.
比如 final int[] userNo = { 0 };
然后在内部类里面
testRPCButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
userNo[0] = 1;
});
}
});
通过这样的方式进行赋值.
4,都换成handler.
然后在这里面对其他Wiget进行操作.(这些wiget必须都是final的.)
5,在client里面是不可以用java.util.Random()的.
作为替换的使用:
com.google.gwt.user.client.Random
Random.nextInt() 下面的静态方法取得.
6,面板是没有addHandler的方法的.
7.在rcp当中要做的:
1) 创建借口并(在client包下)添加@RemoteServiceRelativePath("testRPC")
testRPC是定义的url.
2)借口必须.extends RemoteService
3)创建interface TestRPCAsync 回调接口.
4)实现接口.(在servic包下.)
5)在web.xml里面添加servlet(很重要否则报错:
2009-9-7 8:18:18 com.google.appengine.tools.development.LocalResourceFileServlet
doGet
WARNING: No file found for: /test002/testRPC
<!-- Servlets -->
<servlet>
<servlet-name>testRPC</servlet-name>
<servlet-class>com.demo.test.server.TestRPCImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>testRPC</servlet-name>
<url-pattern>/test002/testRPC</url-pattern>
</servlet-mapping>
6)gwt中声明接口.
private final TestRPCAsync testRPCAsync = GWT.create(TestRPC.class);
7)在onclick中使用.
testRPCButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
System.out.println("here call function.");
testRPCAsync.getString(new AsyncCallback<String>() {
public void onSuccess(String result) {
System.out.println(result);
Window.alert(result);
}
public void onFailure(Throwable caught) {
}
});
}
});
详细参考附件代码.
public class Test002 implements EntryPoint { /** * This is the entry point method. */ public void onModuleLoad() { System.out.println("系统加载的时候显示...."); // /butotn测试开始. final Button button_1 = new Button("测试按钮."); button_1.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { System.out.println("get here.***"); Window.alert("test"); } }); button_1.addKeyDownHandler(new KeyDownHandler() { public void onKeyDown(KeyDownEvent event) { System.out.println("添加事件."); System.out.println(event.toString()); } }); // /butotn测试结束. RootPanel.get().add(new HTML("<br>Button测试")); RootPanel.get().add(button_1); final CheckBox checkBox1 = new CheckBox("checkBox1."); final CheckBox checkBox2 = new CheckBox("checkBox2."); checkBox1.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { // TODO Auto-generated method stub System.out.println("点击了checkbox1."); if (checkBox1.getValue()) { checkBox2.setValue(false); } else { checkBox2.setValue(true); } // Window.alert("check it ."); } }); checkBox2.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { // TODO Auto-generated method stub System.out.println("点击了checkbox2."); if (checkBox2.getValue()) { checkBox1.setValue(false); } else { checkBox1.setValue(true); } // Window.alert("check it ."); } }); RootPanel.get().add(new HTML("<br>checkBox测试.")); RootPanel.get().add(checkBox1); RootPanel.get().add(checkBox2); // checkbox测试结束. final RadioButton radio1 = new RadioButton("class", "obj_1"); final RadioButton radio2 = new RadioButton("class", "obj_2"); final RadioButton radio3 = new RadioButton("class", "obj_3"); RootPanel.get().add(new HTML("<br>RadioButton测试.")); RootPanel.get().add(radio1); RootPanel.get().add(radio2); RootPanel.get().add(radio3); // Radio测试.将radio进行多个选择. final TextBox textBox = new TextBox(); textBox.setTextAlignment(TextBoxBase.ALIGN_RIGHT); // 设置里面的文本内容成右对齐. final Label label_1 = new Label(); textBox.addKeyUpHandler(new KeyUpHandler() { public void onKeyUp(KeyUpEvent event) { // 说明.用changeListener的时候.在光标未移出的时候不会改变. // TODO Auto-generated method stub String temp = textBox.getText(); System.out.println(temp); // System.out.println(event.getNativeKeyCode()); label_1.setText(temp); } }); // KeyboardListenerAdapter RootPanel.get().add(new HTML("<br>TextBox测试.")); RootPanel.get().add(textBox); RootPanel.get().add(new HTML("您输入的参数.")); RootPanel.get().add(label_1); // TextBox测试结束. final ListBox listBox1 = new ListBox(); listBox1.setVisibleItemCount(6);// 设置成可选数目是6. listBox1.addItem("001"); listBox1.addItem("002"); listBox1.addItem("003"); listBox1.addItem("004"); final ListBox listBox2 = new ListBox(); listBox2.setVisibleItemCount(6); ;// 设置成可选数目是6. listBox1.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { int id = listBox1.getSelectedIndex(); listBox2.clear();// 清除所有选项. for (int i = 0; i < 4; i++) { listBox2.addItem(id + "city:\t" + i); } } }); RootPanel.get().add(new HTML("<br>ListBox测试.")); RootPanel.get().add(listBox1); RootPanel.get().add(listBox2); // ListBox结束. Frame frame = new Frame(); frame.setUrl("http://ww.google.com"); RootPanel.get().add(new HTML("<BR>Frame测试.")); RootPanel.get().add(frame); // Frame测试结束. PushButton pushButton = new PushButton("PushButton"); pushButton.setWidth("180px"); RootPanel.get().add(new HTML("<BR>PushButton测试.")); RootPanel.get().add(pushButton); // 相似的是togglebutton.PushButton测试结束. RichTextArea area = new RichTextArea(); area.setHTML("<font color='red'>abc</font>"); // area.BasicFormatter.setBackColor("blue"); RootPanel.get().add(new HTML("<BR>RichTextArea测试.")); RootPanel.get().add(area); // 富文本编辑器设置BasicFormatter还不会使用.//结束. MenuBar menuBarMain = new MenuBar(); Command cmd = new Command() { public void execute() { Window.alert("点击Menu."); } }; MenuBar bar01 = new MenuBar(true); // 设置true的时候.显示竖向菜单. bar01.addItem("001", cmd); bar01.addItem("002", cmd); bar01.addItem("003", (new MenuBar(true).addItem("子菜单.", cmd) .getParentMenu())); // 偷懒的写法.没有去创建一个类. // 主菜单显示. menuBarMain.addItem("File", bar01); menuBarMain.addItem("Save", bar01); menuBarMain.addItem("Exit", bar01); RootPanel.get().add(new HTML("<BR>MenuBar测试.")); RootPanel.get().add(menuBarMain); RootPanel.get().add(new HTML("<BR>")); // 富文本编辑器设置BasicFormatter还不会使用.//结束. final TabBar tabBar = new TabBar(); final Label tabBarLabel = new Label(); final String[] tabBarLabelText = { "这个是第1个TabBar.", "这个是第2个TabBar.", "这个是第3个TabBar.", "这个是新添加的第1个TabBar.", "这个是新添加的第2个TabBar." }; tabBar.addTab("这个是第1个TabBar."); tabBar.addTab("这个是第2个TabBar."); tabBar.addTab("这个是第3个TabBar."); final int[] tabBarAddId = new int[] { -1, -1 }; // 设置一个数组变量存储值.这里不可以是一个int型.这样会改变不了值. tabBar.addSelectionHandler(new SelectionHandler<Integer>() { public void onSelection(SelectionEvent<Integer> event) { System.out.println(tabBar.getSelectedTab()); tabBarLabel.setText(tabBarLabelText[tabBar.getSelectedTab()]); } }); final Button button_tab_1 = new Button("TabBar切换1."); final Button button_tab_2 = new Button("TabBar切换2."); button_tab_1.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { if (tabBarAddId[0] != -1) { tabBar.selectTab(tabBarAddId[0]); tabBarLabel .setText(tabBarLabelText[tabBar.getSelectedTab()]); } else { tabBarAddId[0] = tabBar.getTabCount(); tabBar.insertTab("TabBar切换1.", tabBar.getTabCount()); tabBar.selectTab(tabBarAddId[0]); tabBarLabel .setText(tabBarLabelText[tabBar.getSelectedTab()]); } } }); button_tab_2.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { if (tabBarAddId[1] != -1) { tabBar.selectTab(tabBarAddId[1]); tabBarLabel .setText(tabBarLabelText[tabBar.getSelectedTab()]); } else { tabBarAddId[1] = tabBar.getTabCount(); tabBar.insertTab("TabBar切换2.", tabBar.getTabCount()); tabBar.selectTab(tabBarAddId[1]); tabBarLabel .setText(tabBarLabelText[tabBar.getSelectedTab()]); } } }); RootPanel.get().add(new HTML("<BR>MenuBar测试.")); RootPanel.get().add(tabBar); RootPanel.get().add(tabBarLabel); RootPanel.get().add(button_tab_1); RootPanel.get().add(button_tab_2); // 设置一个数组变量存储值.这里不可以是一个int型.这样会改变不了值. final Grid grid = new Grid(3, 3); // 设置网格的数量.3X3的网格. grid.setBorderWidth(2); // 设置边线的宽度是2. grid.setWidth("100%"); // 设置显示宽是100%. grid.setWidget(0, 0, new HTML("hello!")); grid.setWidget(1, 1, new HTML("hello!")); grid.setWidget(2, 2, new HTML("hello!")); grid.setWidget(1, 2, new HTML("hello!")); // 插入测试数据.数据是从(0,0)开始到(2,2)结束. RootPanel.get().add(new HTML("<BR>Grid测试.")); RootPanel.get().add(grid); grid.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { // TODO Auto-generated method stub System.out.print("点击了:[" + grid.getCellForEvent(event).getRowIndex()); // 获得行. System.out.println("," + grid.getCellForEvent(event).getCellIndex() + "]"); // 获得列. } }); // Grid测试结束. final FlexTable flexTable = new FlexTable(); // 和grid的区别是不用设置大小. flexTable.setWidth("100%"); flexTable.setBorderWidth(1); flexTable.setCellPadding(1); flexTable.setCellSpacing(1); // 设置边框. for (int i = 0; i < 16; i++) { flexTable.setText(i / 4, i % 4, "id:" + i); } flexTable.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { System.out.print("点击了:[" + flexTable.getCellForEvent(event).getRowIndex()); // 获得行. System.out .println("," + flexTable.getCellForEvent(event) .getCellIndex() + "]"); // 获得列. } }); RootPanel.get().add(new HTML("<BR>FlexTable测试.")); RootPanel.get().add(flexTable); // FlexTable测试结束. RootPanel.get().add(new HTML("<BR>HTMLTable测试.")); // RootPanel.get().add(); // htmlTable测试结束. final Tree tree = new Tree(); TreeItem treeItem1 = new TreeItem("01"); treeItem1.addItem(new TreeItem("sub01")); TreeItem treeItem2 = new TreeItem("02"); treeItem2.addItem(new TreeItem("sub02")); TreeItem treeItem3 = new TreeItem("03"); TreeItem treeItem3_1 = new TreeItem("03_1"); treeItem3.addItem(treeItem3_1); TreeItem treeItem3_2 = new TreeItem("03_2"); treeItem3_1.addItem(treeItem3_2); TreeItem treeItem3_3 = new TreeItem("03_3"); treeItem3_2.addItem(treeItem3_3); tree.addItem(treeItem1); tree.addItem(treeItem2); tree.addItem(treeItem3); tree.addOpenHandler(new OpenHandler<TreeItem>() { public void onOpen(OpenEvent<TreeItem> event) { System.out.println("tree onOpen:\t" + event.getTarget().getHTML()); } }); tree.addCloseHandler(new CloseHandler<TreeItem>() { public void onClose(CloseEvent<TreeItem> event) { System.out.println("tree onClose:\t" + event.getTarget().getHTML()); } }); tree.addSelectionHandler(new SelectionHandler<TreeItem>() { public void onSelection(SelectionEvent<TreeItem> event) { // TODO Auto-generated method stub System.out.println("tree onSelection:\t" + tree.getSelectedItem().getHTML()); } }); RootPanel.get().add(new HTML("<BR>Tree测试.")); RootPanel.get().add(tree); // Tree测试结束. Image image = new Image(); image.setUrl("ui-icons.png"); image.setVisibleRect(0, 192, 16, 16); final PushButton button_image = new PushButton(image); button_image.setWidth("16px"); button_image.setHeight("16px"); button_image.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { Window.alert("imageButon"); } }); RootPanel.get().add(new HTML("<BR>Image测试.")); RootPanel.get().add(new Image("ui-icons.png",0, 192, 16, 16)); //直接将图片参数设置.//这里的image被button用了.显示不了. //要重新定义一个button才可以显示. RootPanel.get().add(new HTML("<BR>Image测试.")); RootPanel.get().add(button_image); // Image测试结束. RootPanel.get().add(new HTML("<BR>#######################布局UI######################.")); ScrollPanel scrollPanel = new ScrollPanel(); String strText = ""; for(int i = 0;i < 100; i ++){ strText +="ABCDEFGHI"; } scrollPanel.setSize("100px", "100px"); scrollPanel.setWidget(new HTML(strText)); scrollPanel.setVisible(true); RootPanel.get().add(new HTML("<BR>Panel测试.")); RootPanel.get().add(scrollPanel); // ScrollPanel测试结束. final Button button_PopupPanel = new Button("PopupPanelButton"); button_PopupPanel.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { System.out.println("click"); //新建一个popup. /**popupPanel.setPopupPositionAndShow(new PopupPanel.PositionCallback() { public void setPosition(int offsetWidth, int offsetHeight) { int left = (Window.getClientWidth() -offsetWidth)/3; int top = (Window.getClientHeight() - offsetHeight) /3; popupPanel.setPopupPosition(left, top); } }); */ final PopupPanel popupPanel = new PopupPanel(); Button closeButton = new Button("close"); closeButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { popupPanel.hide(); } }); VerticalPanel verticalPanel = new VerticalPanel(); verticalPanel.add(new HTML("test Popup.")); verticalPanel.add(closeButton); popupPanel.add(verticalPanel); popupPanel.center(); } }); RootPanel.get().add(new HTML("<BR>PopupPanel测试.")); RootPanel.get().add(button_PopupPanel); //RootPanel.get().add(popupPanel); // PopupPanel测试结束. // final DialogBox dialogBox = new DialogBox(false,true); //false:是否自动隐藏.(单击DialogBox之外的部分.true:是否是模式对话框. dialogBox.setTitle("弹出对话框."); dialogBox.setText("弹出对话框."); VerticalPanel verticalPanelDialog = new VerticalPanel(); verticalPanelDialog.add(new HTML("测试对话框.")); Button button_dialog = new Button("确定."); button_dialog.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { dialogBox.hide(); } }); verticalPanelDialog.add(button_dialog); Button button_dialog_show = new Button("显示对话框."); //控制对话框显示. button_dialog_show.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { dialogBox.center(); dialogBox.show(); } }); dialogBox.add(verticalPanelDialog); //将面板添加到dialog里面 RootPanel.get().add(new HTML("<BR>DialogBox测试.")); RootPanel.get().add(button_dialog_show); // DialogBox测试结束. DockPanel dockPanel = new DockPanel(); dockPanel.add(new HTML("NORTH"), DockPanel.NORTH); dockPanel.add(new HTML("SOUTH"), DockPanel.SOUTH); dockPanel.add(new HTML("WEST"), DockPanel.WEST); dockPanel.add(new HTML("EAST"), DockPanel.EAST); dockPanel.add(new HTML("CENTER"), DockPanel.CENTER); dockPanel.setBorderWidth(1); RootPanel.get().add(new HTML("<BR>DockPanel测试.")); RootPanel.get().add(dockPanel); // DockPanel测试结束. HorizontalPanel horizontalPanel = new HorizontalPanel(); horizontalPanel.add(new HTML("test01")); horizontalPanel.add(new HTML("test02")); horizontalPanel.add(new HTML("test03")); horizontalPanel.add(new HTML("test04")); horizontalPanel.setBorderWidth(1); RootPanel.get().add(new HTML("<BR>HorizontalPanel测试.")); RootPanel.get().add(horizontalPanel); // HorizontalPanel测试结束. VerticalPanel verticalPanel = new VerticalPanel(); verticalPanel.add(new HTML("test01")); verticalPanel.add(new HTML("test02")); verticalPanel.add(new HTML("test03")); verticalPanel.add(new HTML("test04")); verticalPanel.setBorderWidth(1); RootPanel.get().add(new HTML("<BR>VerticalPanel测试.")); RootPanel.get().add(verticalPanel); // VerticalPanel测试结束. FlowPanel flowPanel = new FlowPanel(); for(int i = 0; i < 20; i ++){ flowPanel.add(new HTML("test"+i)); } RootPanel.get().add(new HTML("<BR>FlowPanel测试.")); ScrollPanel scrollPaneFlow = new ScrollPanel(); scrollPaneFlow.add(flowPanel); RootPanel.get().add(scrollPaneFlow); // FlowPanel测试结束. StackPanel stackPanel = new StackPanel(); VerticalPanel verticalPanel_1 = new VerticalPanel(); verticalPanel_1.add(new HTML("test01")); verticalPanel_1.add(new HTML("test02")); verticalPanel_1.add(new HTML("test03")); verticalPanel_1.add(new HTML("test04")); stackPanel.add(verticalPanel_1,"verticalPanel_1"); VerticalPanel verticalPanel_2 = new VerticalPanel(); verticalPanel_2.add(new HTML("test01")); verticalPanel_2.add(new HTML("test02")); verticalPanel_2.add(new HTML("test03")); verticalPanel_2.add(new HTML("test04")); stackPanel.add(verticalPanel_2,"verticalPanel_2"); RootPanel.get().add(new HTML("<BR>StackPanel测试.")); RootPanel.get().add(stackPanel); // StackPanel测试结束. final DeckPanel deckPanel = new DeckPanel(); deckPanel.setSize("200px", "200px"); deckPanel.add(new HTML("<font color='red'>testDeck001</font>")); deckPanel.add(new HTML("<font color='blue'>testDeck002</font>")); deckPanel.add(new HTML("<font color='yellow'>testDeck003</font>")); deckPanel.add(new HTML("<font color='green'>testDeck004</font>")); Button buttonDeck = new Button("test Deck()"); final int[] deckNo = {0}; buttonDeck.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { //Window.alert(""+deckNo[0]); deckPanel.showWidget(deckNo[0]); deckNo[0] = (deckNo[0] + 1) % 4; } }); RootPanel.get().add(new HTML("<BR>DeckPanel测试.")); RootPanel.get().add(deckPanel); RootPanel.get().add(buttonDeck); //DeckPanel测试结束. TabPanel tabPanel = new TabPanel(); tabPanel.add(new HTML("TabPanel001Content"), "001"); tabPanel.add(new HTML("TabPanel002Content"), "002"); tabPanel.add(new HTML("TabPanel003Content"), "003"); tabPanel.selectTab(0); RootPanel.get().add(new HTML("<BR>TabPanel测试.")); RootPanel.get().add(tabPanel); //TabPanel测试结束. DisclosurePanel disclosurePanel = new DisclosurePanel(); disclosurePanel.setHeader(new HTML("show")); disclosurePanel.setContent(new HTML("ABCDEFGHIGKLMNOPQRSTUVWXYZ")); RootPanel.get().add(new HTML("<BR>DisclosurePanel测试.")); RootPanel.get().add(disclosurePanel); //DisclosurePanel测试结束. MultiWordSuggestOracle multiWordSuggestOracle = new MultiWordSuggestOracle(); for(int i = 0; i < 100; i ++){ //com.google.gwt.user.client.Random静态方法. multiWordSuggestOracle.add(Random.nextInt() + ""); } RootPanel.get().add(new HTML("<BR>MultiWordSuggestOracle测试.(测试数字 1 -20)")); SuggestBox suggestBox = new SuggestBox(multiWordSuggestOracle); RootPanel.get().add(suggestBox); //MultiWordSuggestOracle测试结束. HorizontalSplitPanel horizontalSplitPanel = new HorizontalSplitPanel(); //大小正好是一个屏幕的大小. horizontalSplitPanel.setLeftWidget(new HTML("Left")); horizontalSplitPanel.setRightWidget(new HTML("Right")); RootPanel.get().add(new HTML("<BR>HorizontalSplitPanel测试.")); RootPanel.get().add(horizontalSplitPanel); //HorizontalSplitPanel测试结束. VerticalSplitPanel verticalSplitPanel = new VerticalSplitPanel(); //大小正好是一个屏幕的大小. verticalSplitPanel.setTopWidget(new HTML("Top")); verticalSplitPanel.setBottomWidget(new HTML("Bottom")); RootPanel.get().add(new HTML("<BR>VerticalSplitPanel测试.")); RootPanel.get().add(verticalSplitPanel); //VerticalSplitPanel测试结束. Button testRPCButton = new Button("testRPC"); testRPCButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { System.out.println("here call function."); testRPCAsync.getString(new AsyncCallback<String>() { public void onSuccess(String result) { System.out.println(result); Window.alert(result); } public void onFailure(Throwable caught) { } }); } }); RootPanel.get().add(new HTML("<BR>TestRPCAsync测试.")); RootPanel.get().add(testRPCButton); //TestRPCAsync测试结束. } private final TestRPCAsync testRPCAsync = GWT.create(TestRPC.class); }
发表评论
-
在CSDN上面也开通了博客
2013-02-27 22:41 906在CSDN上面也开通了博客 CSDN 现在发布文章 ... -
resin 服务器学习 配置 单点和 集群
2011-12-08 00:45 2064使用的 resin 4 服务器 ... -
CentOS 安装 Memcache 服务器. java 做客户端.
2011-11-07 18:35 37051,下载安装第三方源: CentOS 6 或 R ... -
CentOS rpm 安装 java 环境 tomcat nginx.
2011-11-03 19:17 7494首先测试更新. yum update ... -
android 源文件 zip包下载.地址
2011-06-20 15:19 1877android 源文件 zip包下载. 网络上面提供了 ... -
读取 jpa 的配置文件.添加自己的属性.
2011-06-15 16:03 1795package com.freewebsys.sns.c ... -
构建富客户端程序 GWT2.3 + Guice3.0 + hibernateJPA 程序代码
2011-05-05 11:44 1596构建富客户端程序 GWT2.3 + Guice3.0 + ... -
Guice 3.0 学习 persist jpa
2011-03-18 17:39 1536guice 3.0 的 persist 实现 使用的是 ... -
自己弄 开源 CMS 内容发布系统 主要表设计。
2011-03-10 11:34 3838--CMS栏目表 CREATE TABLE ... -
坚信 Debian是比Ubuntu更稳定的操作系统
2011-03-07 14:28 2304坚信 Debian是比Ubuntu更稳定的操作系统 自 ... -
eclipse 3.6 sp2 减肥记录
2011-03-04 09:46 1668喜欢 eclipse 但是 发现 eclipse 的功能很多 ... -
记录 2010 01 12 开始 给 自己 2 年 的时间 去弄 一个 gwt sns
2011-01-13 12:57 1313记录 2010 01 12 开始 给 自己 2 ... -
mac os x86 下 intel 无限驱动下载
2011-01-09 10:45 1413是在 googlecode 的项目 http://co ... -
Macos 下面 开源软件 下载
2011-01-06 16:06 1893macos 常用 软件 下载 macos 官方网站下载 ... -
Ubuntu 更新文件 桌面 菜单丢失, 打算 换 mac os
2011-01-04 11:32 2023ubuntu 是 2009 年 安装 ... -
做 一个 sns 的项目 考虑 使用 GWT 做 前台 后台 spring hibernate 如何 ?
2010-12-27 12:48 1466做 一个 sns 的项目 考虑 使用 GWT 做 前台 后台 ... -
Goolge appengine 又可以用了。高兴啊。。
2010-12-15 09:37 739突然想访问下自己的应用。 发现 自己的 appengi ... -
将google app engine 进行 本地化 可写文件 创建线程 去除白名单
2010-12-10 17:36 1912最近 看到 appgeng 被 ... -
设计 一个 oa 当中 的日历显示 跳转 上月 下月
2010-12-01 13:36 1350主要就是利用 java的Calendar 类 ... -
设计实现 一个 基于extjs2.0 做皮肤的 struts2 样式
2010-11-29 14:37 1815想法在 一年前 产生的。 首先使用 extjs2.0 ...
相关推荐
gwt-site, gwtproject.org 网站的网页来源 文档GWT文档是在 http://www.gwtproject.org/doc/latest/DevGuide.html 发布的。引用Markdown 处理器:https://github.com/sirthias/pegdow
GWT揭秘.pdf
瑞友天翼6.0.7安装包最新版,下载就可以用,win7 win10都适用,市面上最稳定的虚拟化软件,手机可以用的
基于java的开发源码-Spring4GWT.zip 基于java的开发源码-Spring4GWT.zip 基于java的开发源码-Spring4GWT.zip 基于java的开发源码-Spring4GWT.zip 基于java的开发源码-Spring4GWT.zip 基于java的开发源码-Spring4GWT....
标题 "org.jresearch.commons.gwt.utils.shared-1.0.45.zip" 提供的信息表明,这是一个与Java开发相关的开源项目,具体来说是`org.jresearch`组织下的一个 Commons GWT (Google Web Toolkit) 工具集。GWT 是一个用于...
SmartGwt 4.0 的开发jar包,希望对大家有帮助,有额外需要的可以联系我
自己做的GWT 1.7的API文档 有需要的可以下载
gxt-2.2.3-gwt22.jar包,备份以自用。
6. **本地化支持**:GWT支持多语言环境,开发者可以轻松地为应用添加多种语言版本。 7. **开发工具和调试**:GWT提供了强大的开发工具,如GWT Developer Plugin,可以在浏览器中实时预览和调试应用,提升开发效率。...
GWT Designer 7.x 是Google Web Toolkit的最佳可视化开发工具,所见即所得,即拖即用,使你能够非常容易地在可视化环境下开发AJAX应用程序。 GWT Designer 官方下载地址: ...
实测Eclipse4.5.2+ gwt-2.5.1+ appengine-java-sdk-1.8.3+ com.google.gdt.eclipse.suite.4.4.update.site_3.9.5.zip(直接覆盖eclipse的features和plugins目录即可)是没有问题的。
gwt入门的基础书籍,对于初学者应该有帮助
实测Eclipse4.5.2+ gwt-2.5.1+ appengine-java-sdk-1.8.3+ com.google.gdt.eclipse.suite.4.4.update.site_3.9.5.zip(直接覆盖eclipse的features和plugins目录即可)是没有问题的。
"gwt-windows-1.7.1"指的是GWT的一个特定版本,即1.7.1,适配于Windows操作系统。这个版本可能包含了GWT开发所需的库文件、编译器、运行时环境和其他相关工具。 在GWT 1.7.1中,有几个关键的知识点值得深入探讨: ...
gwt-2.7.0.part2.rar 官网下载最新版,提供给大家使用
Manning.GWT.in.Practice.Apr.2008
2. Hello GWT 3. 模块 4. JSNI 5. 在GWT中使用XML 6. GWT控件详解 7. 使用GWT控件 8. GWT-RPC 9. Ext GWT 10. (实战)俄罗斯方块游戏 11. (实战)费用申请审批流程 12. GWT与Flex整合 13. 图片缓存 CSS Sprite 14. ...
官方版本,亲测可用
《Apress.Accelerated.GWT.Building_Enterprise.Google.Web.Toolkit.Applications.May.2008.pdf》这本书籍,很可能是该主题的详细教程,涵盖了以上所有内容,对于想要掌握GWT技术并开发高质量企业应用的开发者来说,...