1. 程式人生 > >Java的GUI學習八(鍵盤碼查詢器)

Java的GUI學習八(鍵盤碼查詢器)

看這個部落格把  我的一直說找不到主類。。。

http://www.cnblogs.com/xingyunblog/p/3855119.html#commentform

先上這個程式碼 是跟著博敲程式碼的

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

}

至於 bat那 我一直都沒弄出來 收工