Java API 分類導覽 - java.awt.event.KeyAdapter

KeyAdapter 類別 (class) 已經實作 KeyListener 介面 (interface) ,因此可直接改寫 KeyListener 的 keyTyped() 、 keyPressed() 、 keyReleased() ,不需要三個都實作。



修飾子
public abstract class KeyAdapter


父類別
java.lang.Object


實作介面
KeyListener
EventListener


建構子
public KeyAdapter()


舉例如下
import java.awt.*;
import java.awt.event.*;
 
public class KeyAdapterDemo extends KeyAdapter {
    Frame frame;
    TextArea text;
     
    public static void main(String[] args) {
        new KeyAdapterDemo();
    }
     
    public KeyAdapterDemo() {
        frame = new Frame("AWTDemo");
        frame.addWindowListener(new AdapterDemo());
        frame.setSize(600, 400);
        text = new TextArea();
        text.addKeyListener(this);
        frame.add(text);
        frame.setVisible(true);
    }
     
    public void keyTyped(KeyEvent e) {
        System.out.println("keyTyped");
    }
    
    public void keyPressed(KeyEvent e) {
        System.out.println("keyPressed");
    }
    
    public void keyReleased(KeyEvent e) {
        System.out.println("keyReleased");
    }
}
 
class AdapterDemo extends WindowAdapter {
    public void windowClosing(WindowEvent e) {
        System.exit(0);
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:KeyAdapterDemo.java
    功能:示範 Java 程式 
    作者:張凱慶
    時間:西元 2012 年 3 月 */


此例的 KeyAdapterDemo 直接繼承自 KeyAdapter 類別
public class KeyAdapterDemo extends KeyAdapter {


下面改寫 KeyListener 介面的三個方法, keyPressed() 為按下鍵盤的動作, keyReleased() 為釋放鍵盤的動作, keyTyped() 則是介於按下鍵盤與釋放鍵盤之間的動作
public void keyTyped(KeyEvent e) {
    System.out.println("keyTyped");
}
    
public void keyPressed(KeyEvent e) {
    System.out.println("keyPressed");
}
    
public void keyReleased(KeyEvent e) {
    System.out.println("keyReleased");
}


編譯後執行,結果如下



中英文術語對照
類別class
介面interface


您可以繼續參考
事件處理


相關目錄
Java API 分類導覽
Java 教材
首頁


參考資料
http://docs.oracle.com/javase/6/docs/api/java/awt/event/KeyAdapter.html

沒有留言: