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(); //创建实例
}
}