📄 loginwidget.java.svn-base
字号:
package org.gjj.gwt.client;import java.util.List;import com.google.gwt.core.client.GWT;import com.google.gwt.user.client.Window;import com.google.gwt.user.client.rpc.AsyncCallback;import com.google.gwt.user.client.rpc.ServiceDefTarget;import com.google.gwt.user.client.ui.Button;import com.google.gwt.user.client.ui.ClickListener;import com.google.gwt.user.client.ui.Composite;import com.google.gwt.user.client.ui.DecoratorPanel;import com.google.gwt.user.client.ui.DockPanel;import com.google.gwt.user.client.ui.Grid;import com.google.gwt.user.client.ui.HTML;import com.google.gwt.user.client.ui.HasHorizontalAlignment;import com.google.gwt.user.client.ui.HorizontalPanel;import com.google.gwt.user.client.ui.KeyboardListenerAdapter;import com.google.gwt.user.client.ui.PasswordTextBox;import com.google.gwt.user.client.ui.TextBox;import com.google.gwt.user.client.ui.Widget;public class LoginWidget extends Composite implements ClickListener{ PasswordTextBox pw = new PasswordTextBox(); TextBox usrName = new TextBox(); MainControlPanel mcPanel = new MainControlPanel(); LoginSystemAsync loginService; // DockPanel mainDockP = new DockPanel(); DecoratorPanel mainDockP = new DecoratorPanel(); Button login; Button clear; /** * constructor */ public LoginWidget(){ /*Main Dock Panel*/// mainDockP.setBorderWidth(1);// mainDockP.setSpacing(5);// mainDockP.setStylePrimaryName("dock"); initRPC(); //mainDockP.add(buildLoginPanel(), DockPanel.CENTER); mainDockP.setWidget(buildLoginPanel()); //init widget initWidget(mainDockP); } /** * @author gaojinjun * @return DockPanel */ public DockPanel buildLoginPanel(){ DockPanel usrPanel = new DockPanel(); /*USR Panel*/ usrPanel.setStylePrimaryName("usrhorizontalpanel"); usrPanel.setSpacing(10); HorizontalPanel head = new HorizontalPanel(); head.setSpacing(5); head.add(new HTML("<h2 align=center>登录页</h2>")); //head.add(new HTML("<h2 align=center>HLA Cluster Manager</h2>")); usrPanel.add(head, DockPanel.NORTH); /* * Add username and password text box */ Grid namePw = new Grid(2,3); namePw.setText(0, 0, "用户名:"); namePw.setWidget(0, 1, usrName); namePw.setText(1, 0, "密码:"); namePw.setWidget(1, 1, pw); usrPanel.add(namePw,DockPanel.CENTER); /* * Add login and clear button */ HorizontalPanel bnPanel = new HorizontalPanel(); bnPanel.setSpacing(5); bnPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER); login = new Button("登录",new ClickListener(){ public void onClick(Widget sender){ isAccountValid(); } }); clear = new Button("清空",new ClickListener(){ public void onClick(Widget sender){ usrName.setText(""); pw.setText(""); } }); //init pw and usrName's click usrName.addKeyboardListener(new KeyboardListenerAdapter() { public void onKeyPress(Widget sender, char keyCode, int modifier){ if(keyCode == '\r'){ login.click(); } } }); pw.addKeyboardListener(new KeyboardListenerAdapter() { public void onKeyPress(Widget sender, char keyCode, int modifiers){ if (keyCode == '\r'){ login.click(); } } }); bnPanel.add(login); bnPanel.add(clear); bnPanel.setCellHorizontalAlignment(login, HasHorizontalAlignment.ALIGN_LEFT); bnPanel.setCellHorizontalAlignment(clear, HasHorizontalAlignment.ALIGN_RIGHT); usrPanel.add(bnPanel, DockPanel.SOUTH); return usrPanel; } /** * @author gaojinjun * @param null * initial async rpc */ public void initRPC(){ // get a handle on the async version of our service loginService = (LoginSystemAsync)GWT.create(LoginSystem.class); ServiceDefTarget endpoint = (ServiceDefTarget)loginService; String moduleRelativeURL = GWT.getModuleBaseURL() + "LoginSystem"; endpoint.setServiceEntryPoint(moduleRelativeURL); } /** * @author gaojinjun * @return boolean */ public void isAccountValid(){ // create the response handler final AsyncCallback callback = new AsyncCallback(){ public void onFailure(Throwable caught) { System.out.println("error!"); Window.alert("Sorry there was an error"); } public void onSuccess(Object result) { boolean flag = result.toString() == "true"; //flag = true; if(!flag) Window.alert("用户不存在或密码错误!"); else { //login mainDockP.clear(); mainDockP.add(mcPanel.buildMainControl()); } } }; loginService.isValid(usrName.getText(),pw.getText(),callback); } public void onClick(Widget sender){ }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -