?? 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 + -