📄 logon.java
字号:
package lib;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import java.util.*;
import java.text.*;
public class Logon extends JFrame implements ActionListener {
private Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); //Getting the User's Screen Dimensions.
private JPanel pLog = new JPanel();
private JLabel lbUser, lbPass,lbType;
private JTextField txtUser;
private JPasswordField txtPass;
private JButton btnOk, btnCancel;
private JComboBox cb;
private String[] userType = {"管理员","用户"};
public Logon () {
//Setting Program's Title.
super ("图书系统 v1.0");
//Setting the Main Window of Program.
setIconImage (getToolkit().getImage ("Images/Host16.gif")); //Setting the Program's Icon.
setSize (275, 200); //Setting Main Window Size.
setResizable (false); //Make it UnResizeable.
//Closing Code of Main Window.
addWindowListener (new WindowAdapter () { //Attaching the WindowListener to Program.
public void windowClosing (WindowEvent we) { //Overriding the windowClosing Function.
setVisible (false); //Hide the Form.
dispose(); //Free the System Resources.
System.exit (0); //Close the Application.
}
}
);
//Setting the Logon Form Position on User's Screen.
setLocation (d.width / 2 - getWidth() / 2, d.height / 2 - getHeight() / 2);
//Setting the Layout of Panel.
pLog.setLayout (null);
//Setting the Form's Labels.
lbUser = new JLabel ("ID号码:");
lbUser.setForeground (Color.black);
lbUser.setBounds (20, 55, 75, 25);
lbPass = new JLabel ("密码:");
lbPass.setForeground (Color.black);
lbPass.setBounds (20, 90, 75, 25);
//Setting the Form's TextField & PasswordField.
txtUser = new JTextField ();
txtUser.setBounds (100, 55, 150, 25);
txtPass = new JPasswordField ();
txtPass.setBounds (100, 90, 150, 25);
//Setting the Form's Buttons.
btnOk = new JButton ("确定");
btnOk.setBounds (20, 130, 100, 25);
btnOk.addActionListener (this);
btnCancel = new JButton ("取消");
btnCancel.setBounds (150, 130, 100, 25);
btnCancel.addActionListener (this);
//Setting the ComboBox.
lbType = new JLabel("登陆方式:");
lbType.setBounds(20,15,75,25);
cb = new JComboBox (userType);
cb.setBounds(100, 15, 150, 25);
//Adding All the Controls in Panel.
pLog.add(lbType);
pLog.add (cb);
pLog.add (lbUser);
pLog.add (lbPass);
pLog.add (txtUser);
pLog.add (txtPass);
pLog.add (btnOk);
pLog.add (btnCancel);
getContentPane().add (pLog);
setVisible (true);
}
public void actionPerformed (ActionEvent ae) {
Object obj = ae.getSource();
if (obj == btnOk) { //If OK Button Pressed.
String password = new String (txtPass.getPassword());
if (txtUser.getText().equals ("")) {
JOptionPane.showMessageDialog (this, "请填写ID号码");
txtUser.requestFocus();
}
else if (password.equals ("")) {
txtPass.requestFocus();
JOptionPane.showMessageDialog (null,"请输入密码");
}
else {
String type;
String id;
String username = "'" + (String)txtUser.getText().trim() + "'";
boolean verify = false; //To Confirm Logon.
Members member = new Members();
if(cb.getSelectedItem().toString() == "管理员") {type = "Admin";member.setType(false);id="ID";}
else {type = "Members";member.setType(true);id="MemberID";}
String memberQuery = "SELECT * " +
" FROM "+type+" WHERE " + id + " LIKE " + username;
member.connection(memberQuery);
String user = member.getName(); //Storing UserName.
String pass = member.getPassword(); //Storing Password.
if(member.getType()==true&&member.getMemberID()!=0||member.getType()==false&&member.getName()!=null){
if (password.equals (pass)) {//If Found then.
verify = true;
setVisible (false); //Hide the Form.
new JLibrary(member.getType(),user);
dispose(); //Free the System Resources.
}
else {
verify = false;
JOptionPane.showMessageDialog (this, "密码错误!请重新输入。");
txtUser.setText ("");
txtPass.setText ("");
txtUser.requestFocus ();
}
}
else
JOptionPane.showMessageDialog(null, "ID号码不存在!", "Warning", JOptionPane.WARNING_MESSAGE);
}
}
else if (obj == btnCancel) { //If Cancel Button Pressed Unload the From.
setVisible (false);
dispose();
System.exit (0);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -