8.JAVA之GUI编程键盘码查询器

程序使用说明:

 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();
    }

}

运行截图:

上篇7.JAVA之GUI编程鼠标事件         下篇:       9.JAVA之GUI编程列出指定目录内容

 

posted @ 2014-07-19 16:03  技术宅星云  阅读(2512)  评论(5编辑  收藏  举报