1. 程式人生 > >十. 圖形界面(GUI)設計14.鍵盤事件

十. 圖形界面(GUI)設計14.鍵盤事件

== 應用 界面 按鈕 程序 port app 分隔 add

鍵盤事件的事件源一般丐組件相關,當一個組件處於激活狀態時,按下、釋放或敲擊鍵盤上的某個鍵時就會發生鍵盤事件。鍵盤事件的接口是KeyListener,註冊鍵盤事件監視器的方法是addKeyListener(監視器)。實現KeyListener接口有3個:

  • keyPressed(KeyEvent e):鍵盤上某個鍵被按下;
  • keyReleased(KeyEvent e):鍵盤上某個鍵被按下,又釋放;
  • keyTyped(KeyEvent e):keyPressed和keyReleased兩個方法的組合。


管理鍵盤事件的類是KeyEvent,該類提供方法:
public int getKeyCode(),獲得按動的鍵碼,鍵碼表在KeyEvent類中定義,參見附錄。

【例 11-20】小應用程序有一個按鈕和一個文本區,按鈕作為發生鍵盤事件的事件源,並對它實施監視。程序運行時,先點擊按鈕,讓按鈕激活。以後輸入英文字母時,在正文區顯示輸入的字母。字母顯示時,字母之間用空格符分隔,且滿10個字母時,換行顯示。
import java.applet.*
import java.awt.*;
import java.awt.event.*;
public class Example6_10 extends Applet implements KeyListener{
int count =0;
Button button = new Button();
TextArea text = new TextArea(5,20);
public void init(){
button.addKeyListener www.yigozongdai2.cn (this);
add(button);add(text);
}
public void keyPressed(KeyEvent e){
int t = e.getKeyCode();
if(t>=KeyEvent.VK_A&&t<=KeyEvent.VK_Z){
text.append((char)t+" ");
count++;
if(count%10==0)
text.append("\n");
}
}
public void keyTyped(KeyEvent e){}
public void keyReleased(KeyEvent e){}
}

十. 圖形界面(GUI)設計14.鍵盤事件