MyLoginDialog.java
上传用户:flow_meter
上传日期:2022-03-21
资源大小:40k
文件大小:3k
源码类别:

MySQL数据库

开发平台:

SQL

  1. package sql_lab;
  2. import org.eclipse.jface.dialogs.Dialog;
  3. import org.eclipse.jface.dialogs.MessageDialog;
  4. import org.eclipse.swt.SWT;
  5. import org.eclipse.swt.widgets.*;
  6. import org.eclipse.swt.layout.*;
  7. import java.sql.*;
  8. /**对话框由对话框区域和按钮条组成
  9.  * 创建自定义对话框的步骤是:
  10.  * 覆盖以下方法
  11.  * Control createDialogArea(Composite parent)创建对话框的各种控件
  12.  * void createButtonForButtonBar(Composite parent) 创建对话框按钮
  13.  * void buttonPressed(int buttonID)处理按钮单击事件
  14.  * @author guo
  15.  *
  16.  */
  17. public class MyLoginDialog extends Dialog {
  18. public static final int LOGIN_ID=0;
  19. public static final int LOGOUT_ID=1;
  20. public static final String LOGIN_LABEL="登陆";
  21. public static final String LOGOUT_LABEL="退出";
  22. private Text userName;
  23. private Text password;
  24. public MyLoginDialog(Shell parentShell){
  25. super(parentShell);
  26. }
  27. protected void configureShell(Shell shell){
  28. super.configureShell(shell);
  29. shell.setText("系统登陆");
  30. }
  31. protected Control createDialogArea(Composite parent){
  32. Composite composite=(Composite)super.createDialogArea(parent);
  33. Group group=new Group(composite,SWT.NONE);
  34. group.setText("登陆系统");
  35. GridLayout grid=new GridLayout();
  36. grid.marginHeight=20;
  37. grid.marginWidth=20;
  38. grid.numColumns=2;
  39. group.setLayout(grid);
  40. new Label(group,SWT.NONE).setText("用户名");
  41. userName=new Text(group,SWT.BORDER|SWT.SINGLE);
  42. new Label(group,SWT.NONE).setText("密码");
  43. password=new Text(group,SWT.BORDER|SWT.SINGLE);
  44. password.setEchoChar('*');
  45. return parent;
  46. }
  47. protected void createButtonsForButtonBar(Composite parent){
  48. //创建按钮必须通过父类的createButton来创建
  49. createButton(parent,MyLoginDialog.LOGIN_ID,MyLoginDialog.LOGIN_LABEL,true);
  50. createButton(parent,MyLoginDialog.LOGOUT_ID,MyLoginDialog.LOGOUT_LABEL,true);
  51. }
  52. protected void buttonPressed(int buttonID){
  53. if(MyLoginDialog.LOGIN_ID==buttonID){//进行登陆验证
  54. sqlManager sql=sqlManager.getSqlManager();
  55. String str="select * from "+sqlManager.tb_user+" where user_id='"+userName.getText().toString()
  56. +"' and user_password='"+password.getText().toString()+"'";
  57. MainWindow.log=false;
  58. ResultSet set=sql.executeQuery(str);
  59. try{
  60. while(set.next())//登陆成功
  61. {
  62. if((userName.getText().toString().equals(set.getString(1)))&&
  63. (password.getText().toString().equals(set.getString(2)))){
  64. MainWindow.user=set.getString(1);
  65. MainWindow.password=set.getString(2);
  66. MainWindow.level=set.getInt(3);
  67. MainWindow.log=true;
  68. System.out.println("here");
  69. this.close();
  70. }
  71. }
  72. }catch(SQLException e){
  73. e.printStackTrace();
  74. }
  75. if(MainWindow.log==false)
  76. MessageDialog.openConfirm(Display.getCurrent().getActiveShell(), "提示对话框", "登陆失败,请重新登陆");
  77. }
  78. else if(MyLoginDialog.LOGOUT_ID==buttonID)
  79. this.close();
  80. }
  81. }