程序使用说明:
1.本程序由于是java代码编写,所以运行需安装jdk并配置好环境变量。
2. 复制java代码到记事本内,另存为Keyboard_events.java;
3.复制批处理代码到记事本内,另存为运行.bat。
4.双击运行.bat批处理即可执行,当前窗体必须为软件界面才能查询。
批处理代码:
@echo off
javac Keyboard_events.java
java Keyboard_events
@pause
del *.class
Java代码:
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent; public class Keyboard_events { // 定义该图形所需的组件的引用
private Frame f;
private Button but; Keyboard_events() { init(); } // 对图形用户界面初始化
public void init() { f = new Frame("键盘码查询器——by星云");
f.setBounds(300, 100, 600, 500); // 设置窗口位置和大小
f.setLayout(new FlowLayout());// 默认边界布局方式重置成流式布局 but = new Button("ESC或者ctrl+enter退出程序!");// 新建一个按钮
f.add(but);// 将按钮添加到窗体上。 dealwithEvent();// 加载事件处理 f.setVisible(true);// 设置窗体可见
} // 事件监听器以及处理事件
private void dealwithEvent() { // 窗体关闭监听
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0); } }); // 键盘监听
but.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) { //如果按下ESC或者按下CTRL+enter退出程序
if ((e.getKeyCode() == KeyEvent.VK_ESCAPE) || (e.isControlDown() && e.getKeyCode() == KeyEvent.VK_ENTER) ) {
System.out.println(KeyEvent.getKeyText(KeyEvent.VK_ESCAPE)+ "键盘码为:" + e.getKeyCode());
System.exit(0);
} else { System.out.println(KeyEvent.getKeyText(e.getKeyCode())+ "键盘码为:" + e.getKeyCode()); }
} }); } public static void main(String[] args) { new Keyboard_events();
} }
运行截图: