logondialog.java
来自「学生成绩管理系统 eclipse rcp开发 swt技术」· Java 代码 · 共 86 行
JAVA
86 行
package com.zdh.sms.navigator;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import com.zdh.sms.db.DbOperate;
import com.zdh.sms.model.IUser;
import com.zdh.sms.system.Context;
import com.zdh.sms.system.SmsFactory;
public class LogonDialog extends Dialog {
private Text userIdText; // 用户名文本框
private Text passwordText;// 密码文本框
public LogonDialog(Shell parentShell) {
super(parentShell);
}
protected Control createDialogArea(Composite parent) {
getShell().setText("用户登录");
Composite c = new Composite(parent, SWT.NONE);
c.setLayoutData(new GridData(GridData.FILL_BOTH));
c.setLayout(new GridLayout(2, false));
new Label(c, SWT.NONE).setText("用户名:");
userIdText = new Text(c, SWT.BORDER);
userIdText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
new Label(c, SWT.NONE).setText("密 码:");
passwordText = new Text(c, SWT.BORDER);
passwordText.setEchoChar('*');
passwordText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
return c;
}
protected void buttonPressed(int buttonId) {
if (buttonId == IDialogConstants.OK_ID) {
String userId = userIdText.getText().trim();
String password = passwordText.getText().trim();
if (userId == null || userId.equals("")) {
MessageDialog.openWarning(getShell(), "Message", "用户名不能为空");
userIdText.setFocus();
return;
}
if (password == null || password.equals("")) {
MessageDialog.openWarning(getShell(), "Message", "密码不能为空");
passwordText.setFocus();
return;
}
// 到数据库中验证
DbOperate db = SmsFactory.getDbOperate();// 得到一个数据库操作类
IUser user = db.getUser(userId);// 从数据库中根据userId取得此用户
if (user == null) {
MessageDialog.openInformation(getShell(), "Message", "用户名不存在");
userIdText.setFocus();
userIdText.selectAll();
return;
}
String dbPassword = user.getPassword();
if (dbPassword == null || !dbPassword.equals(password)) {
MessageDialog.openInformation(getShell(), "Message", "密码错误");
passwordText.setFocus();
passwordText.selectAll();
return;
}
Context.getInstance().setCurrentUser(user); // 将当前登录用户保存起来
}
super.buttonPressed(buttonId);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?