Login.java
~~~
package zyw.login;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Login extends JFrame implements ActionListener {
private JPanel jp=new JPanel();//創建JPanel對象
private JLabel []jlArray={//創建標簽組
new JLabel("用戶IP"),new JLabel("端口號"),new JLabel("用戶名"),
new JLabel("密 碼"),new JLabel("")
};
private JButton[] jbArray={//創建按鈕數組
new JButton("學生登錄"),new JButton("清空"),new JButton("管理員登錄")
};
private JTextField[] jtxtArray={ //創建文本框
new JTextField("127.0.0.1"),new JTextField("3306"),new JTextField("1001")
};
private JPasswordField jpassword=new JPasswordField("number1"); //創建密碼框
String sql;
public Login(){
jp.setLayout(null); //設置JPanel的布局管理器
for(int i=0;i<4;i++){ //對標簽與按鈕控件循環處理
jlArray[i].setBounds(30,20+i*50,80,25);//設置標簽與按鈕的大小和位置
jp.add(jlArray[i]);//將標簽和按鈕添加進JPanel容器中
}
for(int i=0;i<3;i++){//設置按鈕的大小位置并為其添加事件監聽器
jbArray[i].setBounds(10+i*120,230,100,25);
jp.add(jbArray[i]);
jbArray[i].addActionListener(this);
}
for(int i=0;i<3;i++){//設置文本框的大小位置并為其添加事件監聽器
jtxtArray[i].setBounds(80,20+50*i,180,25);
jp.add(jtxtArray[i]);
jtxtArray[i].addActionListener(this);
}
jpassword.setBounds(80,170,180,25);//設置密碼框的大小位置
jp.add(jpassword);//將密碼框添加進JPanel容器
jpassword.setEchoChar('*');//設置密碼框的回顯字符
jpassword.addActionListener(this);//為密碼框注冊監聽器
jlArray[4].setBounds(10,280,300,25);//設置用于顯示登錄狀態的標簽的大小位置
jp.add(jlArray[4]); //將標簽添加進JPanel容器
this.add(jp);
Image image=new ImageIcon("ico.gif").getImage();//對logo圖片進行初始化
this.setIconImage(image);
//設置窗體的大小位置及可見性
this.setTitle("登錄");
this.setResizable(false);
this.setBounds(100,100,400,350);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
//實現ActionListener接口中的方法
@Override
public void actionPerformed(ActionEvent e) {
//事件源為文本框
String mgno=jtxtArray[2].getText().trim();
String mgIP=jtxtArray[0].getText().trim();
String port=jtxtArray[1].getText().trim();
String message=mgIP+":"+port;
if(e.getSource()==jtxtArray[0]){
jtxtArray[1].requestFocus();//切換輸入焦點到下一個框
}
if(e.getSource()==jtxtArray[1]){
jtxtArray[2].requestFocus();//切換輸入焦點到下一個框
}
if(e.getSource()==jtxtArray[2]) {
jpassword.requestFocus();//切換輸入焦點到密碼框
}
else if(e.getSource()==jbArray[1]){//事件源為清空按鈕
//清空所有信息
jlArray[4].setText("");
jtxtArray[2].setText("");
jpassword.setText("");
//將輸入焦點設置到文本框
jtxtArray[2].requestFocus();
}
else if(e.getSource()==jbArray[2]){//事件源為管理員登錄按鈕
//判斷用戶名和密碼是否匹配
if(!mgno.matches("\\d+"))
{//如果用戶名格式輸入有誤
JOptionPane.showMessageDialog(this,"用戶名格式錯誤!!!","信息",
JOptionPane.INFORMATION_MESSAGE);
return;
}
if(jtxtArray[0].getText().trim().equals(""))
{//如果"用戶IP"文本框為空,提示
JOptionPane.showMessageDialog(this,"用戶IP不能為空!!!","信息",
JOptionPane.INFORMATION_MESSAGE);
return;
}
if(jtxtArray[1].getText().trim().equals(""))
{//如果"端口號"文本框為空,提示
JOptionPane.showMessageDialog(this,"用戶端口號不能為空!!!","信息",
JOptionPane.INFORMATION_MESSAGE);
return;
}
sql="select mgNo,password from manager where mgNo="+Integer.parseInt(mgno);
try{
/* String mgNo="";
String password="";
jlArray[4].setText("恭喜您,登錄成功!!!");
//new Root(mgNo);//跳到該窗口
this.dispose();//關閉本窗口*/
String mgNo="";
String password="";
if(jtxtArray[2].getText().trim().equals(mgNo)&&String.valueOf(jpassword.getPassword()).equals(password)){
jlArray[4].setText("恭喜您,登錄成功!!!");
//new Root(mgNo);//跳到該窗口
this.dispose();//關閉本窗口
}else{
jlArray[4].setText("對不起,登錄失敗!!!");
}
}
catch(Exception e1){e1.printStackTrace();}
}
else if(e.getSource()==jbArray[0]){//事件源為學生登錄按鈕
if(!jtxtArray[2].getText().trim().matches("\\d+")){
//若學號格式錯誤,輸出提示對話框
JOptionPane.showMessageDialog(this,"輸入有誤,學號只能為數字!!!",
"消息", JOptionPane.INFORMATION_MESSAGE);
return;
}
if(jtxtArray[0].getText().trim().equals("")){//若"用戶IP"文本框輸入為空,提示
JOptionPane.showMessageDialog(this,"用戶IP不能為空!!!","信息",
JOptionPane.INFORMATION_MESSAGE);
return;
}
if(jtxtArray[1].getText().trim().equals("")){//若"端口號"文本框輸入為空,提示
JOptionPane.showMessageDialog(this,"用戶端口號不能為空!!!",
"信息",JOptionPane.INFORMATION_MESSAGE);
return;
}
//查詢學號文本中所輸學號是否存在于STUDENT表中
sql="select StuNO,Password from STUDENT where StuNO="
+Integer.parseInt(jtxtArray[2].getText().trim());
/*try{
String mgNo="";
String password="";
jlArray[4].setText("恭喜您,登錄成功!!!");
new StudentSystem();
this.dispose();
}
catch(Exception e1){e1.printStackTrace();}*/
}
}
public static void main(String[]args)
{
new Login();
}
}
~~~