📄 frmlogin.java
字号:
package examples.FrmLogin;
import java.io.*;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
import myprojects.FrmLoginDb.*;
import myprojects.FrmMenu.FrmMenu.*;
public class FrmLogin {
//各控件,文本框,标签定义
private Label lblBH,lblMM,lblGBH,lblGMM,lblXMM,lblYMM;
private Text txtBH,txtMM,txtGBH,txtGMM,txtXMM,txtYMM;
private Button btnDL,btnTC,btnXG,btnQX;
//创建SHELL容器
Shell shell;
//创建连接对象
private myprojects.FrmLoginDb.FrmLoginDb Db = new myprojects.FrmLoginDb.FrmLoginDb();
private myprojects.FrmMenu.FrmMenu menu = new myprojects.FrmMenu.FrmMenu();
public void run() {
Display display = new Display();
shell = new Shell(SWT.DIALOG_TRIM);
shell.setLayout(new FillLayout());
shell.setText("入口登录");
shell.setBounds(350,150,360,400);
shell.setSize(300,250);
createContents(shell);
shell.open();
try{
//自动连接数据连接
int b = Db.getConnection();
//数据库自动连接判断
if(b==0)
{
MessageBox messageBox = new MessageBox(shell,SWT.OK|SWT.ICON_ERROR);
messageBox.setText("错误!");
messageBox.setMessage("连接数据库出错");
messageBox.open();
shell.dispose();
return;
}
}
catch(Exception e){
System.err.println(e.getMessage());
}
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
private void createContents(Shell shell) {
final TabFolder tabFolder = new TabFolder(shell, SWT.VIRTUAL);
//创建TAB1
TabItem one = new TabItem(tabFolder, SWT.NONE);
one.setText(" 用 户 登 录 ");
//调用容器1
one.setControl(getTabOneControl(tabFolder));
//创建TAB2
TabItem two = new TabItem(tabFolder, SWT.NONE);
two.setText(" 修 改 密 码 ");
//调用容器2
two.setControl(getTabTwoControl(tabFolder));
}
private Control getTabOneControl(TabFolder tabFolder) {
//创建COMPOSITE对象
Composite composite = new Composite(tabFolder, SWT.NONE);
//设置布局
GridLayout gridlayout = new GridLayout();
gridlayout.numColumns = 3;
composite.setLayout(gridlayout);
//设置LABEL框和文本框占巨空间,以实现布局
new Label(composite, SWT.NONE);
new Label(composite, SWT.NONE);
new Label(composite, SWT.NONE);
new Label(composite, SWT.NONE);
new Label(composite, SWT.NONE);
new Label(composite, SWT.NONE);
new Text(composite, SWT.NONE).setVisible(false);
//职员编号LABEL框
lblBH = new Label(composite, SWT.NONE);
lblBH.setText("职员编号:");
//输入职员编号的文本框
txtBH = new Text(composite, SWT.BORDER);
//设置LABEL框和文本框占巨空间,以实现布局
new Label(composite, SWT.NONE);
new Label(composite, SWT.NONE);
new Label(composite, SWT.NONE);
new Label(composite, SWT.NONE);
// 用户密码LABEL框
lblMM = new Label(composite, SWT.CENTER);
lblMM.setText("用户密码:");
//输入用户密码的文本框
txtMM = new Text(composite, SWT.BORDER);
//设置密码输入时以"*"表示
txtMM.setEchoChar('*');
//设置LABEL框和文本框占巨空间,以实现布局
new Label(composite, SWT.NONE);
new Label(composite, SWT.NONE);
new Label(composite, SWT.NONE);
new Label(composite, SWT.NONE);
//设置登录按扭
btnDL = new Button(composite, SWT.PUSH);
btnDL.setText(" 登 录 ");
//登录按扭监听器事件
btnDL.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e){
//获得登录窗口编号和密码的输入值
String id=txtBH.getText();
String pw=txtMM.getText();
//判断编号输入字符中是否有单引号
if(id.indexOf("'")!=-1)
{
MessageBox messageBox = new MessageBox(shell,SWT.OK|SWT.ICON_ERROR);
messageBox.setText(" 提示信息");
messageBox.setMessage("职员编号中含有非法字符!");
messageBox.open();
return;
}
//判断密码输入字符中是否有单引号
if(pw.indexOf("'")!=-1)
{
MessageBox messageBox = new MessageBox(shell,SWT.OK|SWT.ICON_ERROR);
messageBox.setText(" 提示信息");
messageBox.setMessage("用户密码中含有非法字符!");
messageBox.open();
return;
}
//判断密码是否超过限制
if(pw.getBytes().length>32)
{
MessageBox messageBox = new MessageBox(shell,SWT.OK|SWT.ICON_ERROR);
messageBox.setText(" 提示信息");
messageBox.setMessage("密码长度超过限制!");
messageBox.open();
return;
}
//判断编号是否为空
if(id.equals(""))
{
//编号为空时,错误提示信息
MessageBox messageBox = new MessageBox(shell,SWT.OK|SWT.ICON_WARNING);
messageBox.setText(" 提示信息");
messageBox.setMessage("职员编号不能为空!");
messageBox.open();
return;
}
//判断密码是否为空
else if(pw.equals(""))
{
//密码为空时,错误提示信息
MessageBox messageBox = new MessageBox(shell,SWT.OK|SWT.ICON_WARNING);
messageBox.setText(" 提示信息");
messageBox.setMessage("密码不能为空!");
messageBox.open();
return;
}
//接受身份验证返回值
boolean fig = Db.checkUser(id,pw);
if(fig==false)
{
//验证失败时,错误提示框
MessageBox messageBox = new MessageBox(shell,SWT.OK|SWT.ICON_ERROR);
messageBox.setText(" 提示信息");
messageBox.setMessage("身份验证错误!");
messageBox.open();
return;
}
//验证成功
else{ Db.updateDataDQBJ(id);
/*
MessageBox messageBox = new MessageBox(shell,SWT.OK|SWT.ICON_INFORMATION);
messageBox.setText(" 欢 迎 ");
messageBox.setMessage("登录成功!");
messageBox.open();
*/
//////////////////////////////////////////////////////////////////
// myprojects.FrmMenu.FrmMenu Jbdm=new myprojects.FrmMenu.FrmMenu();
shell.getDisplay().dispose();
shell.dispose();
menu.main();
return;
///////////////////////////////////////////////////////////////////
}
}
});
//设置退出按扭
btnTC = new Button(composite, SWT.PUSH);
btnTC.setText(" 退 出 ");
//设置退出按扭监听事件
btnTC.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e){
//点吉退出按纽,关闭窗口
shell.dispose();
return;
}
});
return composite;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -