loginframe.java

来自「eidtplus注册码.txt eidtplus注册码.txt」· Java 代码 · 共 239 行

JAVA
239
字号
package parkingsystem;

import java.awt.*;
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Rectangle;
import com.borland.dx.sql.dataset.Database;
import com.borland.dx.sql.dataset.ConnectionDescriptor;
import com.borland.dx.dataset.ParameterRow;
import com.borland.dx.dataset.Column;
import com.borland.dx.sql.dataset.QueryDataSet;
import com.borland.dx.sql.dataset.Load;
import com.borland.dx.sql.dataset.QueryDescriptor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * <p>Title: 停车场系统</p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: </p>
 *
 * @author jok
 * @version 1.0
 */
public class LoginFrame
    extends JFrame {
  JPanel contentPane;
  JLabel jLabel1 = new JLabel();
  JLabel jLabel2 = new JLabel();
  JLabel jLabel3 = new JLabel();
  JTextField jTextField1 = new JTextField();
  JPasswordField jPasswordField1 = new JPasswordField();
  ButtonGroup buttonGroup1 = new ButtonGroup();
  JRadioButton jRadioButton1 = new JRadioButton();
  JRadioButton jRadioButton2 = new JRadioButton();
  JButton jButton1 = new JButton();
  JButton jButton2 = new JButton();
  Database database1 = new Database();
  ParameterRow loginparameter = new ParameterRow();
  Column column1 = new Column();
  Column column2 = new Column();
  Column column3 = new Column();
  QueryDataSet queryDataSet1 = new QueryDataSet();
  static int userID;
  public LoginFrame() {
    try {
      setDefaultCloseOperation(EXIT_ON_CLOSE);
      jbInit();
    }
    catch (Exception exception) {
      exception.printStackTrace();
    }
  }

  /**
   * Component initialization.
   *
   * @throws java.lang.Exception
   */
  private void jbInit() throws Exception {
    contentPane = (JPanel) getContentPane();
    contentPane.setLayout(null);
    setSize(new Dimension(400, 300));
    setTitle("停车场管理系统");
    jLabel1.setText("用户类型:");
    jLabel1.setBounds(new Rectangle(64, 161, 107, 30));
    jLabel2.setText("密   码:");
    jLabel2.setBounds(new Rectangle(64, 101, 107, 30));
    jLabel3.setText("用户ID号:");
    jLabel3.setBounds(new Rectangle(64, 40, 107, 30));
//    jTextField1.setText("jTextField1");
    jTextField1.setBounds(new Rectangle(173, 42, 109, 29));
//    jPasswordField1.setText("jPasswordField1");
    jPasswordField1.setBounds(new Rectangle(173, 101, 109, 29));
    jRadioButton1.setSelected(true);
    jRadioButton1.setText("普通用户");
    jRadioButton1.setBounds(new Rectangle(164, 164, 80, 23));
    jRadioButton2.setText("管理员");
    jRadioButton2.setBounds(new Rectangle(258, 164, 80, 23));
    jButton1.setBounds(new Rectangle(61, 222, 110, 34));
    jButton1.setText("登  录 ");
    jButton1.addActionListener(new LoginFrame_jButton1_actionAdapter(this));
    jButton2.setBounds(new Rectangle(214, 222, 110, 34));
    jButton2.setText("重  置");
    jButton2.addActionListener(new LoginFrame_jButton2_actionAdapter(this));
    database1.setConnection(new ConnectionDescriptor(
        "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=parkingdb",
        "sa", "123456", false, "com.microsoft.jdbc.sqlserver.SQLServerDriver"));
    column1.setColumnName("UserType");
    column1.setDataType(com.borland.dx.dataset.Variant.STRING);
    column1.setDefault("普通用户");
    column1.setPreferredOrdinal(0);
    column1.setServerColumnName("NewColumn1");
    column1.setSqlType(0);
    column2.setColumnName("Password");
    column2.setDataType(com.borland.dx.dataset.Variant.STRING);
    column2.setPreferredOrdinal(1);
    column2.setServerColumnName("NewColumn2");
    column2.setSqlType(0);
    column3.setColumnName("UserID");
    column3.setDataType(com.borland.dx.dataset.Variant.INT);
    column3.setPreferredOrdinal(2);
    column3.setServerColumnName("NewColumn1");
    column3.setSqlType(0);
    queryDataSet1.setQuery(new QueryDescriptor(database1,
        "select * from users where UserID=:UserID and Password=:Password and " +
                                               "UserType=:UserType",
                                               loginparameter, true, Load.ALL));
    contentPane.add(jPasswordField1);
    contentPane.add(jLabel1);
    contentPane.add(jLabel2);
    contentPane.add(jLabel3);
    contentPane.add(jButton2);
    contentPane.add(jButton1);
    contentPane.add(jRadioButton1);
    contentPane.add(jRadioButton2);
    contentPane.add(jTextField1);
    buttonGroup1.add(jRadioButton1);
    buttonGroup1.add(jRadioButton2);
    loginparameter.setColumns(new Column[] {column1, column2, column3});
  }

  public void jButton1_actionPerformed(ActionEvent e) {
    /*获取登录时填入的用户ID号、用户密码和所选择的用户类型*/
     String password1="";
     for(int i=0;i<jPasswordField1.getPassword().length;i++)
     password1+=jPasswordField1.getPassword()[i];
     if(!jTextField1.getText().equals("")&&!password1.equals("")){
      try{
       userID = Integer.parseInt(jTextField1.getText().trim());
      }catch(NumberFormatException e1){
        JOptionPane.showMessageDialog(this,"信息输入错误!");
        return;
      }

       String password = password1.trim();
      String userType = "";
      if (jRadioButton1.isSelected()) {
        userType = "普通用户";
      }
      else if (jRadioButton2.isSelected()) {
        userType = "管理员";
      }
      /*设置loginparameter参数值*/

      loginparameter.setInt("UserID", userID);
      loginparameter.setString("Password", password);
      loginparameter.setString("UserType", userType);
      queryDataSet1.refresh();//每次赋值要刷新~要记住啊~弄了老半天的结果~!!
      queryDataSet1.open(); //打开数据集
      if (queryDataSet1.rowCount() != 0) {

        if (userType.equals("普通用户")) { //若为普通用户,进入车辆进出子系统
          InOutFrame inAndOut = new InOutFrame();
          inAndOut.setSize(400, 300);

          // Center the window
           Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
           Dimension frameSize = inAndOut.getSize();
           if (frameSize.height > screenSize.height) {
             frameSize.height = screenSize.height;
           }
           if (frameSize.width > screenSize.width) {
             frameSize.width = screenSize.width;
           }
           inAndOut.setLocation( (screenSize.width - frameSize.width) / 2,
                             (screenSize.height - frameSize.height) / 2);
           inAndOut.setVisible(true);
           this.setVisible(false);

        }
        else {

          ManageFrame manageFrame=new ManageFrame();
          manageFrame.setSize(400,300);
         // Center the window
          Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
          Dimension frameSize = manageFrame.getSize();
          if (frameSize.height > screenSize.height) {
            frameSize.height = screenSize.height;
          }
          if (frameSize.width > screenSize.width) {
            frameSize.width = screenSize.width;
          }
          manageFrame.setLocation( (screenSize.width - frameSize.width) / 2,
                            (screenSize.height - frameSize.height) / 2);

          manageFrame.setVisible(true);
          this.setVisible(false);

        }
      }
      else {

        JOptionPane.showMessageDialog(this,"不存在此用户,请重新登录");

      }
    }
    else{
       JOptionPane.showMessageDialog(this,"登录时请输入完整的信息!");
    }
    queryDataSet1.close();

  }

  public void jButton2_actionPerformed(ActionEvent e) {
    jTextField1.setText("");
    jPasswordField1.setText("");
  }
}

class LoginFrame_jButton2_actionAdapter
    implements ActionListener {
  private LoginFrame adaptee;
  LoginFrame_jButton2_actionAdapter(LoginFrame adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent e) {
    adaptee.jButton2_actionPerformed(e);
  }
}

class LoginFrame_jButton1_actionAdapter
    implements ActionListener {
  private LoginFrame adaptee;
  LoginFrame_jButton1_actionAdapter(LoginFrame adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent e) {
    adaptee.jButton1_actionPerformed(e);
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?