📄 login.java
字号:
package myprojects.Login;
import org.eclipse.swt.*;
import org.eclipse.swt.custom.*;
import org.eclipse.swt.events.*;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
import myprojects.DBcon.*;
import myprojects.HomeManage.*;
import myprojects.queryCharge.*;
public class Login
{
public String strUserID=null;
public String strUserName=null;
public String adminFlag="";
public String delFlag="";
public String queryFlag="";
private Group group;
private Text txtUserID;
private Text txtPassword;
private Button btnLogin;
private Button btnExit;
private static DBcon DB=new DBcon();
private static Shell shell;
public static void main(String[] args)
{
Display display=new Display();
shell=new Shell(display,SWT.MIN);
Login objLogin=new Login();
shell.setSize(320,200);
shell.setVisible(true);
shell.setText("家庭财务管理系统V1.0(测试版)");
try
{
shell.setImage(new Image(shell.getDisplay(),"image.ico"));
}
catch(Exception e)
{
}
shell.open();
objLogin.creatGroup();
if(!DB.getConnection())
{
MessageBox msBox = new MessageBox(shell,SWT.OK|SWT.ICON_ERROR);
msBox.setText("错误");
msBox.setMessage("数据库连接出错");
msBox.open();
return;
}
while(!objLogin.shell.isDisposed())
{
if(!display.readAndDispatch())
{
display.sleep();
}
}
display.dispose();
}
private void creatGroup()
{
group=new Group(shell,SWT.None);
group.setBounds(5,5,300,150);
Label lblName=new Label(group,SWT.None);
lblName.setText("用户 I D");
lblName.setBounds(50,40,50,15);
txtUserID=new Text(group,SWT.BORDER);
txtUserID.setBounds(110,35,130,20);
Label lblPassword=new Label(group,SWT.None);
lblPassword.setText("用户密码");
lblPassword.setBounds(50,70,50,15);
txtPassword=new Text(group,SWT.PASSWORD|SWT.BORDER);
txtPassword.setBounds(110,65,130,20);
btnLogin=new Button(group,SWT.None);
btnLogin.setText("登 录");
btnLogin.setBounds(80,100,70,25);
btnExit=new Button(group,SWT.None);
btnExit.setText("退 出");
btnExit.setBounds(160,100,70,25);
txtUserID.setFocus();
txtUserID.addModifyListener(new ModifyListener(){
public void modifyText(ModifyEvent eve)
{
int flagID = checkValidate(txtUserID.getText());
if(flagID==0)
{
showMessage("错误!","用户ID中不能有单或双引号!",SWT.ICON_INFORMATION);
txtUserID.setText("");
}
return;
}
});
txtUserID.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent userid)
{
if(userid.keyCode==SWT.CR)
{
if(txtUserID.getText().length()==0)
{
showMessage("错误!","用户ID号不能为空!",SWT.ICON_INFORMATION);
}
else
{
txtPassword.setFocus();
}
}
}
});
txtPassword.addModifyListener(new ModifyListener(){
public void modifyText(ModifyEvent eve)
{
int flagPass = checkValidate(txtPassword.getText());
if(flagPass==0)
{
showMessage("错误!","密码中不能有单或双引号!",SWT.ICON_INFORMATION);
txtPassword.setText("");
}
return;
}
});
txtPassword.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent password)
{
if(password.keyCode==SWT.CR)
{
if(txtPassword.getText().length()==0)
{
showMessage("错误!","用户密码不能为空!",SWT.ICON_INFORMATION);
}
else
{
btnLogin.setFocus();
}
}
}
});
btnLogin.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent log)
{
if(txtUserID.getText().length()==0)
{
showMessage("错误!","用户ID号不能为空!",SWT.ICON_INFORMATION);
txtUserID.setFocus();
}
else if(txtPassword.getText().length()==0)
{
showMessage("错误!","用户密码不能为空!",SWT.ICON_INFORMATION);
txtPassword.setFocus();
}
else
{
checkUser();
}
}
});
btnExit.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent exit)
{
int flag=showMessage("敬告!","你真的要退出此系统吗?(Y/N)",SWT.OK|SWT.CANCEL|SWT.ICON_INFORMATION);
if(flag==32)
{
shell.dispose();
}
}
});
}
private void checkUser()
{
int flagLogin=0;
flagLogin=DB.checkUser(txtUserID.getText(),txtPassword.getText());
if(flagLogin==1)
{
try
{
strUserName=DB.rstSelect.getString("userName");
adminFlag=DB.rstSelect.getString("adminFlag");
delFlag=DB.rstSelect.getString("delFlag");
queryFlag=DB.rstSelect.getString("queryFlag");
System.out.println(strUserName);
}
catch(Exception e)
{
System.out.println("用户个人信息加载失败!");
}
String[] toManage=null;
shell.getDisplay().dispose();
shell.dispose();
HomeManage.main(toManage);
}
else
{
showMessage("错误!","用户名或密码错误,请重新输入!",SWT.ICON_INFORMATION);
txtUserID.setFocus();
}
}
private int checkValidate(String Check)
{
String strCheck=Check;
String string=null;
int flag=1;
int len=strCheck.length();
for(int i=0;i<=len-1;i++)
{
string=strCheck.substring(i,i+1);
if(string.equals("\'")|string.equals("\""))
{
flag=0;
}
string=null;
}
return flag;
}
/**
* 函数名:showMessage
* 编写者:郭军
* 功 能:加载数据及应用相关设置
* 输入参数:标题,信息,报警类型
* 输出参数:返回值
* 备 注:
*/
private int showMessage(String title,String message,int flag)
{
int retFlag; //定义一个返回值的接收变量
MessageBox msgbox=new MessageBox(shell,flag);
msgbox.setText(title); //设置消息的桂标题
msgbox.setMessage(message); //设置消息的内容
retFlag=msgbox.open();
return retFlag;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -