微信的模拟登录

package swingWeChat;

import java.awt.Button;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextField;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JOptionPane;

import zzDemo.setLocation;

public class WeChatlogin {
    private static Frame f;
    private static TextField zh;
    private static TextField mm;
    private static String czh="112233";
    private static String cmm="1111";

    public static void main(String[] args) {
            f=new Frame();
            f.setSize(300, 200);
            int x=setLocation.getX(f);
            int y=setLocation.getY(f);
            f.setLocation(x, y);
            f.setLayout(null);//清除窗体样式
            f.setResizable(false);//禁止更改窗口像素大小
            //设置窗体图标
            f.setIconImage(Toolkit.getDefaultToolkit().getImage("img/WeChat.png"));
            //添加窗体Windows监听事件,
            f.addWindowListener(new WindowAdapter() {
                @Override
                public void windowClosing(WindowEvent e) {
                    f.dispose();//监听关闭
                }
            });
            //账号标签
            Label name=new Label();
            name.setText("账号:");
            name.setSize(50,30);
            name.setLocation(30, 50);
            f.add(name);

            //密码标签:
            Label pwd = new Label("密码:");
            pwd.setSize(50, 30);
            pwd.setLocation(30, 80);
            f.add(pwd);

            //账号文本框
            zh=new TextField();
            zh.setSize(150, 20);
            zh.setLocation(80, 55);
            // 添加键盘输入的监听事件,设置文本框只能输入数字
            zh.addKeyListener(new KeyListener() {

                @SuppressWarnings("static-access")
                @Override
                public void keyTyped(KeyEvent e) {
                    int key=e.getKeyChar();
                    if(key>=e.VK_0 && key<=e.VK_9){

                    }else if(key==e.VK_ENTER){
                        check();
                    }else{
                        e.consume();//在内存中清除输入的内容
                        zh.requestFocus();//获得当前焦点
                    }

                }

                @Override
                public void keyPressed(KeyEvent e) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void keyReleased(KeyEvent e) {
                    // TODO Auto-generated method stub

                }
            });
            f.add(zh);

            //密码输入框
            mm=new TextField();
            mm.setSize(150, 20);
            mm.setLocation(80, 85);
            mm.setEchoChar('*');//设置密码不可见
            //设置密码键盘监听事件,回车直接登录
            mm.addKeyListener(new KeyListener() {

                @SuppressWarnings("static-access")
                @Override
                public void keyTyped(KeyEvent e) {
                    int key=e.getKeyChar();
                    if(key==e.VK_ENTER){
                        check();
                    }

                }

                @Override
                public void keyReleased(KeyEvent e) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void keyPressed(KeyEvent e) {
                    // TODO Auto-generated method stub

                }
            });

            f.add(mm);

            //登录按钮
            Button login=new Button("登录");
            login.setSize(100, 30);
            login.setLocation(30, 130);
            //添加点击登录按钮的鼠标监听事件
            login.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    check();
                }
            });

            f.add(login);

            //注册按钮
            Button reg=new Button("注册");
            reg.setSize(100, 30);
            reg.setLocation(140, 130);
            //添加注册按钮的鼠标监听事件
            reg.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    String mess=JOptionPane.showInputDialog("请输入:");
                    System.out.println(mess);   
                }
            });
            f.add(reg);
            f.setResizable(false);
            f.setVisible(true);//显示窗体
    }

    //判断账号密码是否正确的方法
    public static void check(){
        String t1=zh.getText();
        String t2=mm.getText();
        if(t1.equals(czh) && t2.equals(cmm)){
            int i=JOptionPane.showConfirmDialog(f, "登录成功!是否打开主页");
            if(i==0){
                f.dispose();
                new Main();
            }else{

            }
        }else if(t1.equals(czh) && !t2.equals(cmm)){
            JOptionPane.showMessageDialog(f, "密码错误!");
            mm.setText("");//将密码清空并获取焦点
            mm.requestFocus();
        }else if(t1.equals("")||t1==null){
            JOptionPane.showMessageDialog(f,"账号不能为空" );
            zh.requestFocus();
        }else if(t2.equals("")){
            JOptionPane.showMessageDialog(f,"密码不能为空" );
            mm.requestFocus();
        }else{
            JOptionPane.showMessageDialog(f, "账号或密码错误");
            zh.setText("");
            mm.setText("");//将账号密码全部清空重写
            zh.requestFocus();
        }

    }


}
package swingWeChat;

import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import zzDemo.setLocation;

public class Main {
    public Main(){
        Frame f=new Frame();
        f.setSize(500, 800);
        int x=setLocation.getX(f);
        int y=setLocation.getY(f);
        f.setLocation(x, y);

        f.setVisible(true);
        f.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                f.dispose();
            }
        });
    }


}
package zzDemo;

import java.awt.Frame;
import java.awt.Toolkit;
/**
 * 窗体居中方法:
 * @author Administrator
 *
 */
public class setLocation {
    public static int getX(Frame f){
        //获得当前屏幕的宽度
        int width=(int) Toolkit.getDefaultToolkit().getScreenSize().getWidth();
        int x=(int) f.getSize().getWidth();//获取当前窗口的宽度
        return (width-x)/2;//当前窗体宽度居中
    }
    public static int getY(Frame f){
        //获得当前屏幕的高度
        int height=(int) Toolkit.getDefaultToolkit().getScreenSize().getHeight();
        int y=f.getSize().height;
        return (height-y)/2;
    }

}

你可能感兴趣的:(Java)