package dating.client.dialog;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.*;
import dating.client.AsyncCallback;
import dating.client.DatingService;
import dating.client.DatingServiceAsync;
import dating.client.bean.Member;
import dating.client.dialog.reg.RegisterPanel;
import dating.client.dialog.reg.SubmitEvent;
import dating.client.dialog.reg.SubmitHandler;
import java.util.List;
import java.util.Set;
public class DatingPanel extends FlowPanel {
private FlowPanel toolBarPanel;
private FlowPanel contentPanel;
private TextBox searchBox;
private Button searchButton;
private Button addMemberButton;
private Grid membersGrid;
private RegisterPanel registerPanel;
private DatingServiceAsync service;
final DatingPanel me;
public DatingPanel() {
init();
me = this;
service = DatingService.App.getInstance();
addMemberButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
registerPanel.convertRegsiter();
registerPanel.reset();
registerPanel.setModal(true);
registerPanel.show();
}
});
searchButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
onload(searchBox.getText());
}
});
registerPanel.addSubmitHandler(new SubmitHandler() {
public void onSubmit(SubmitEvent event) {
String userName = registerPanel.getUserName();
String userPwd = registerPanel.getPassword();
String email = registerPanel.getEmail();
if (registerPanel.isReg()) {
service.regsiter(new Member(userName, userPwd, email), new AsyncCallback<Boolean>() {
public void onSuccess(Boolean result) {
if (result) {
registerPanel.hide();
}
onload("");
}
});
} else {
service.modify(new Member(userName, userPwd, email), new AsyncCallback<Boolean>() {
public void onSuccess(Boolean result) {
if (result) {
registerPanel.hide();
onload("");
}
}
});
}
}
});
}
private void init() {
setSize("600px", "400px");
toolBarPanel = new FlowPanel();
contentPanel = new FlowPanel();
searchBox = new TextBox();
searchButton = new Button("Search");
addMemberButton = new Button("Add Member");
membersGrid = new Grid(1, 5);
membersGrid.setBorderWidth(1);
Label userNameLabel = new Label("UserName");
Label passwordLabel = new Label("Password");
Label emailLabel = new Label("Email");
Label modifyLabel = new Label("Modify");
Label delLabel = new Label("Delete");
DOM.setStyleAttribute(userNameLabel.getElement(), "fontWeight", "bold");
DOM.setStyleAttribute(passwordLabel.getElement(), "fontWeight", "bold");
DOM.setStyleAttribute(emailLabel.getElement(), "fontWeight", "bold");
DOM.setStyleAttribute(modifyLabel.getElement(), "fontWeight", "bold");
DOM.setStyleAttribute(delLabel.getElement(), "fontWeight", "bold");
membersGrid.setWidget(0, 0, userNameLabel);
membersGrid.setWidget(0, 1, passwordLabel);
membersGrid.setWidget(0, 2, emailLabel);
membersGrid.setWidget(0, 3, modifyLabel);
membersGrid.setWidget(0, 4, delLabel);
registerPanel = new RegisterPanel();
registerPanel.setSize("300px", "200px");
toolBarPanel.add(searchBox);
toolBarPanel.add(searchButton);
toolBarPanel.add(addMemberButton);
toolBarPanel.setWidth("100%");
add(toolBarPanel);
membersGrid.setWidth("100%");
contentPanel.setWidth("100%");
contentPanel.setHeight("100%");
contentPanel.add(membersGrid);
add(contentPanel);
}
private void onload(String keyword) {
if (keyword == null) keyword = "";
service = GWT.create(DatingService.class);
service.search(keyword, new AsyncCallback<Set<Member>>() {
public void onSuccess(Set<Member> result) {
clearCell();
for (Member member : result) {
addMember(member);
}
}
});
}
private void clearCell() {
int rowCount = membersGrid.getRowCount();
while (rowCount > 1) {
membersGrid.removeRow(--rowCount);
}
}
private void addMember(Member member) {
int row = membersGrid.insertRow(membersGrid.getRowCount());
membersGrid.setWidget(row, 0, new Label(member.getUserName()));
membersGrid.setWidget(row, 1, new Label(member.getUserPwd()));
membersGrid.setWidget(row, 2, new Label(member.getEmail()));
Button modifyButton = new Button("Modify");
final String userName = member.getUserName();
final String userPwd = member.getUserPwd();
final String email = member.getEmail();
modifyButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
registerPanel.reset();
registerPanel.convertModify(userName);
registerPanel.setUserPwd(userPwd);
registerPanel.setEmail(email);
registerPanel.setModal(true);
registerPanel.show();
}
});
membersGrid.setWidget(row, 3, modifyButton);
Button delButton = new Button("Delete");
delButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
service.delete(userName, new AsyncCallback<Void>() {
public void onSuccess(Void result) {
onload("");
}
});
}
});
membersGrid.setWidget(row, 4, delButton);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
GWT 简单实例,包括添加/删除/修改/查询数据
共63个文件
class:28个
java:16个
xml:14个
4星 · 超过85%的资源 需积分: 9 115 下载量 167 浏览量
2010-07-27
17:07:02
上传
评论
收藏 4.23MB RAR 举报
温馨提示
GWT简单实例 包括添加/删除/修改/查询数据 技术层面使用了. GWT事件,GWT自定义组件,GWT的RPC传输.以及各种简单控件的使用. 很简单的
资源推荐
资源详情
资源评论
收起资源包目录
dating.rar (63个子文件)
dating
out
test
dating
production
dating
dating
DatingSite.gwt.xml 387B
server
DataFactory.class 3KB
ServiceExepiton.class 365B
DatingServiceImpl.class 2KB
client
bean
Member.class 2KB
DatingSite.class 749B
DatingService.class 649B
DatingServiceAsync.class 698B
AsyncCallback.class 858B
dialog
DatingPanel$5.class 1KB
Test.class 279B
DatingPanel$3$1.class 1KB
DatingPanel$3.class 2KB
DatingPanel$1.class 1KB
DatingPanel$6$1.class 1KB
DatingPanel$4.class 2KB
reg
RegisterPanel$1.class 970B
SubmitHandler.class 243B
ModifyPanel.class 308B
RegElement.class 1KB
RegisterPanel.class 4KB
RegisterPanel$2.class 807B
SubmitEvent.class 2KB
HasSubmitHandler.class 306B
DatingPanel.class 5KB
DatingPanel$6.class 1KB
DatingPanel$3$2.class 1KB
DatingPanel$2.class 1KB
DatingService$App.class 729B
dating.iml 1KB
src
dating
DatingSite.gwt.xml 387B
server
DatingServiceImpl.java 1KB
DataFactory.java 2KB
ServiceExepiton.java 327B
client
bean
Member.java 1KB
DatingSite.java 2KB
DatingService.java 921B
AsyncCallback.java 275B
dialog
DatingPanel.java 7KB
Test.java 226B
reg
RegisterPanel.java 3KB
SubmitEvent.java 1KB
RegElement.java 842B
SubmitHandler.java 353B
HasSubmitHandler.java 438B
ModifyPanel.java 68B
DatingServiceAsync.java 677B
web
WEB-INF
web.xml 680B
lib
gwt-user.jar 4.97MB
index.jsp 324B
DatingSite.html 295B
DatingSite.css 161B
.idea
uiDesigner.xml 9KB
libraries
gwt_user.xml 291B
workspace.xml 40KB
encodings.xml 171B
vcs.xml 173B
misc.xml 3KB
modules.xml 263B
artifacts
dating_war_exploded.xml 566B
copyright
profiles_settings.xml 115B
compiler.xml 799B
ant.xml 170B
共 63 条
- 1
91猿说编程
- 粉丝: 3848
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 全卷积网络基于voc2012数据集简单pytorch实现
- pycharm的一些介绍-用于更好的学习python
- 基于C++的程序设计大赛天梯赛L2答案(天梯赛)
- 基于python实现的三次样条插值和均值插值法实现
- Python语言教程2-python批量图片大小处理-多文件夹
- Python语言教程1-python批量图片重命名,将后缀某几个不想要的字去除
- Space Combat Kit 太空战斗套件Unity游戏开发插件资源unitypackage C#
- Universal Device Preview 通用设备预览Unity游戏开发插件资源unitypackage
- Paladin Anim Set 圣骑士动画集Unity游戏动作动画插件资源unitypackage
- 计算机财务管理期末考报表部分题目及答案.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页