javaGUI编写的键盘检测,利用GUI实现按键效果展示

博客来源:

键盘用久了难免会用起来不舒服,偶尔有一下失灵,不晓得是自己的问题还是键盘的问题,写一个按键检测的小demo,来检测按键是否失灵

程序是使用java语言中的GUI 编写,话不多,直接上代码

可执行jar已经上传博客————>点击下载 KeyBoardTest.jar (完全免费)

可执行jar已经上传博客————>点击下载 KeyBoardTest.jar (完全免费)

可执行jar已经上传博客————>点击下载 KeyBoardTest.jar ​​​​​​​(完全免费)

import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.ArrayList;
import java.util.List;

/**
 * @Method: 键盘按键检测,GUI界面,打开界面可见文本框,鼠标选中文本框,按下按键会出现相应的按键提示
 */
public class KeyboardTest implements KeyListener {
    //设置总面板
    JFrame jFrame = new JFrame("按键测试");
    //设定一个文本框
    JTextField jTextField = new JTextField();
    //定义按键的集合
    List<String> list = new ArrayList<String>();


    public static void main(String[] args) {
        KeyboardTest keyboardTest = new KeyboardTest();
        keyboardTest.init();
    }

     private void init(){
         //自定义布局
         jFrame.setLayout(null);
         //设定布局大小
         jFrame.setSize(300,95);
         //将窗口的位置设置在正中间
         jFrame.setLocationRelativeTo(null);
         //设置背景颜色
         jFrame.setBackground(new Color( 96, 160, 246));
         //设置左上角图标
         ImageIcon imageIcon=new ImageIcon("C:\\KeyboardTest.png");
         jFrame.setIconImage(imageIcon.getImage());
         //设置不可改变大小
         jFrame.setResizable(false);
         //添加关闭监听
         jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


         //给文本框添加按键监听
         jTextField.addKeyListener(this);
         //设置文本框大小
         jTextField.setBounds(0,0,300,50);
         //设置文本框颜色
         jTextField.setBackground(new Color(206, 216, 243));
         //设置文本框样式
         jTextField.setFont(new Font("宋体",Font.PLAIN,22));
         //将文本框添加入版面
         jFrame.add(jTextField);
         //页面总是置顶
         jFrame.setAlwaysOnTop(true);

         jFrame.setVisible(true);
     }


    @Override
    public void keyTyped(KeyEvent e) {
        //输入的直接无视
        e.consume();
    }

    @Override
    public void keyPressed(KeyEvent e) {
        String name = e.getKeyText(e.getKeyCode());
        if (!list.contains(name)){
            jTextField.setText("");
            list.add(name);
            //显示在文本框中的值
            StringBuilder stringBuilder = new StringBuilder();
            for (int i = 0; i < list.size(); i++) {
                if (i==0){
                    stringBuilder.append(list.get(i));
                }else{
                    stringBuilder.append(" + "+list.get(i));
                }
            }
            jTextField.setText(stringBuilder.toString());
        }
    }

    @Override
    public void keyReleased(KeyEvent e) {
        list.clear();
        jTextField.setText("");
    }
}

效果图

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值