键盘监听事件

111 阅读1分钟
package zzDemo;

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;

public class QQlogin {

    public static void main(String[] args) {
        Frame f = new Frame();
        f.setSize(300, 200);// 设置窗体尺寸
        f.setLocation(500, 200);
        f.setLayout(null);// 清空窗体样式
        f.setResizable(false);// 禁止更改窗体字体大小(显示比例)
        f.setIconImage(Toolkit.getDefaultToolkit().getImage("img/qq_3d.png"));
        // f.setResizable(true);
        f.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                f.dispose();// 监听关闭
            }

            @Override
            public void windowClosed(WindowEvent e) {
                //System.exit(0);
            }
        });
        // 账号标签:
        Label name = new Label("账号");
        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);

        // 账号文本框
        TextField 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{
                    e.consume();//将输入内容从内存中消除(输入不进去)
                }

            }

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

            }

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

            }
        });
        f.add(zh);

        // 密码框
        TextField mm = new TextField();
        mm.setSize(150, 20);
        mm.setLocation(80, 85);
        mm.setEchoChar('*');// 设置密码不可见
        f.add(mm);

        // 登录按钮
        Button login = new Button();
        login.setLabel("登录");
        login.setSize(100, 30);
        login.setLocation(30, 130);
        // 登录按钮点击事件
        login.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent arg0) {
                String t1=zh.getText();//获取账号信息
                String t2=mm.getText();//获取密码信息
                if(t1.equals("112233")&&t2.equals("1111")){
                    System.out.println("登录成功!即将跳转至QQ主页……");
                    f.dispose();//关闭登录界面
                    new Main();
                }else if(t1.equals("112233") && !t2.equals("1111")){
                    System.out.println("密码错误");
                }else if(t1.equals("")){
                    System.out.println("账号不能为空");
                }else if(t2.equals("")){
                    System.out.println("密码不能为空");
                }else{
                    System.out.println("账号或密码错误");
                }

            }
        });
        f.add(login);

        // 注册按钮
        Button reg = new Button("注册");
        reg.setSize(100, 30);
        reg.setLocation(140, 130);
        f.add(reg);

        f.setVisible(true);
        f.setResizable(false);//不允许用户调整窗口大小

    }

}
package zzDemo;

import java.awt.Frame;

public class Main {
    public Main(){
        Frame f=new Frame();
        f.setSize(500, 800);
        f.setLocation(100, 50);
        f.setVisible(true);
    }


}