博客来源:
键盘用久了难免会用起来不舒服,偶尔有一下失灵,不晓得是自己的问题还是键盘的问题,写一个按键检测的小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("");
}
}
效果图