Java:自定義模擬QQ登陸窗口,並驗證登錄名和密碼是否正確之ClientLogin.java文件內容(1)
目錄
自定義模擬QQ登陸窗口,並驗證登錄名和密碼是否正確之ClientLogin.java文件內容(1)
自定義模擬QQ登陸窗口,並驗證登錄名和密碼是否正確之ClientLogin.java文件內容(1)
ClientLogin.java文件內容
package ui;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import ui.tools.FileUtils;
//第一步首先在public class裏面,寫出要調用的所有的聲明變量,方法,組件。
//第二步在構造方法void init中,初始化、拼裝組件
//繼承JFrame的所有功能
public class ClientLogin extends JFrame {
private int width=400,height=350;
private ImageIcon loginLogo=null; //定義圖片
private JLabel showLogoLabel=null;
private JLabel userLabel=null,pwdLabel=null;
private JTextField usernameText=null;
private JPasswordField PwdText=null;
private JButton loginBtn=null,resBtn=null;
private ClientLogin(){
init();
addComponent();
addListener();
showFrame();
}
//初始化組件(圖片、lable、文本編輯框等)
private void init(){
loginLogo= new ImageIcon("images/01.png"); //
showLogoLabel=new JLabel(loginLogo,JLabel.CENTER); //對齊方式center
userLabel= new JLabel("用戶名");
pwdLabel= new JLabel("密碼名");
usernameText=new JTextField();
PwdText= new JPasswordField();
loginBtn=new JButton("登陸");
resBtn=new JButton("重置");
}
// 把各種組件在該方法中進行組裝
private void addComponent(){
this.setLayout(null); //定義空佈局
this.add(showLogoLabel);
showLogoLabel.setBounds(0,0,width-20,88); //位置、尺寸
this.add(userLabel);
userLabel.setBounds(50,120,180,30);
this.add(usernameText);
usernameText.setBounds(120,120,200,30);
this.add(pwdLabel);
pwdLabel.setBounds(50,160,180,30);
this.add(PwdText);
PwdText.setBounds(120,160,200,30);
this.add(loginBtn);
loginBtn.setBounds(100,240,100,30);
this.add(resBtn);
resBtn.setBounds(200,240,100,30);
}
//給組件添加事件功能,登陸按鈕、重置按鈕
private void addListener(){
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //當點擊窗口的X按鈕時真正意義上退出程序
loginBtn.addActionListener(new ActionListener(){ //
@Override
public void actionPerformed(ActionEvent e){
String username = usernameText.getText(); //獲取文本框值
String pwd = PwdText.getText(); //獲取
boolean b=FileUtils.checkLogin(username,pwd); //查看用戶是否成功
if(b==true){ //登陸成功!
JOptionPane.showMessageDialog(null, "登陸成功!");
}else{
JOptionPane.showMessageDialog(null, "用戶名或者密碼錯誤"); //彈出消息對話框
}
System.out.println("登陸成功!");
}
});
resBtn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
usernameText.setText("");
PwdText.setText("");
}
});
}
//顯示界面
private void showFrame(){
//獲取屏幕尺寸,並強制轉爲int類型
int screenWidth= (int) this.getToolkit().getScreenSize().getWidth();
int screenHeight= (int) this.getToolkit().getScreenSize().getHeight();
int x=(screenWidth-width)/2;
int y=(screenHeight-height)/2;
this.setLocation(x, y); //設置窗口從屏幕中心彈出
this.setResizable(false); //讓窗口大小固定
this.setSize(width,height);
this.setVisible(true);
}
public static void main(String []args) {
new ClientLogin(); //創建實例
}
}