首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java Applet 鍵盤事件處理:即時顯示按鍵 ASCII 碼

     編輯:Java 相關知識

Applet 基礎架構

Applet 是嵌入網頁的小型 Java 程式,生命週期由瀏覽器或 appletviewer 管理。本範例實作 KeyListener 介面,捕捉鍵盤事件並即時顯示按鍵對應的 ASCII 數值。

完整原始碼

// jdk1.3
// <applet code=KeyValue width=100 height=50></applet>
// 在 Java 源碼中加入上述註解,可直接執行:appletviewer KeyValue.java
import java.awt.*;
import java.awt.event.*;
import java.applet.*;

public class KeyValue extends Applet implements KeyListener {
    TextField txt = new TextField(10);
    Label lab = new Label("鍵盤對應 ASCII 碼"); // Enter 鍵值為 10

    public void init() {
        add(txt);
        add(lab);
        txt.addKeyListener(this); // 註冊鍵盤監聽器
    }

    // 鍵盤按下瞬間觸發
    public void keyPressed(KeyEvent e) {
        char ch = e.getKeyChar();
        int ascii = (int) ch;
        lab.setText(String.valueOf(ascii));
        txt.setText("");           // 清空輸入框
        txt.requestFocus();        // 保持焦點
    }

    // 鍵盤輸入字符時觸發(含組合鍵)
    public void keyTyped(KeyEvent e) {
        // 可在此處理特定字符邏輯,如 Enter 送出表單
    }

    // 鍵盤釋放時觸發
    public void keyReleased(KeyEvent e) {
        // 可處理釋放後邏輯
    }
}

關鍵 API 與流程

  • implements KeyListener:強制實作三方法 keyPressed、keyTyped、keyReleased。
  • e.getKeyChar():取得按鍵對應的 Unicode 字符。
  • (int) ch:字符轉整數即為 ASCII/Unicode 碼值。
  • txt.requestFocus():確保輸入框持續擁有焦點,否則失去焦點後無法接收鍵盤事件。

執行方式

  1. 儲存為 KeyValue.java。
  2. 編譯:javac KeyValue.java。
  3. 執行:appletviewer KeyValue.java(利用原始碼中的 applet 註解標籤)。

現代替代方案提示

Applet 技術已過時(瀏覽器不再支援 Java 外掛)。現代 Web 開發請使用 JavaScript 處理鍵盤事件(keydown, keypress, keyup),或採用 JavaFX / Swing 建立桌面應用。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved