Java圖形化編程中的鍵盤事件設(shè)計(jì)簡介
鍵盤事件的事件源一般丐組件相關(guān),當(dāng)一個(gè)組件處于激活狀態(tài)時(shí),按下、釋放或敲擊鍵盤上的某個(gè)鍵時(shí)就會(huì)發(fā)生鍵盤事件。鍵盤事件的接口是KeyListener,注冊鍵盤事件監(jiān)視器的方法是addKeyListener(監(jiān)視器)。實(shí)現(xiàn)KeyListener接口有3個(gè):
- keyPressed(KeyEvent e):鍵盤上某個(gè)鍵被按下;
- keyReleased(KeyEvent e):鍵盤上某個(gè)鍵被按下,又釋放;
- keyTyped(KeyEvent e):keyPressed和keyReleased兩個(gè)方法的組合。
管理鍵盤事件的類是KeyEvent,該類提供方法:
public int getKeyCode(),獲得按動(dòng)的鍵碼,鍵碼表在KeyEvent類中定義。
【例】小應(yīng)用程序有一個(gè)按鈕和一個(gè)文本區(qū),按鈕作為發(fā)生鍵盤事件的事件源,并對它實(shí)施監(jiān)視。程序運(yùn)行時(shí),先點(diǎn)擊按鈕,讓按鈕激活。以后輸入英文字母時(shí),在正文區(qū)顯示輸入的字母。字母顯示時(shí),字母之間用空格符分隔,且滿10個(gè)字母時(shí),換行顯示。
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(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){}
}
相關(guān)文章
基于bufferedreader的read()與readline()讀取出錯(cuò)原因及解決
這篇文章主要介紹了bufferedreader的read()與readline()讀取出錯(cuò)原因及解決,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
spring boot 項(xiàng)目中使用thymeleaf模板的案例分析
這篇文章主要介紹了spring boot 項(xiàng)目中使用thymeleaf模板的案例分析,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
Solr通過特殊字符分詞實(shí)現(xiàn)自定義分詞器詳解
最近因?yàn)楣ぷ鞯男枰?,要做一個(gè)分詞器,通過查找相關(guān)的資料最終用solr實(shí)現(xiàn)了,下面這篇文章主要給大家介紹了關(guān)于Solr通過特殊字符分詞實(shí)現(xiàn)自定義分詞器的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來一起看看吧。2017-09-09
關(guān)于Java整合RocketMQ實(shí)現(xiàn)生產(chǎn)消費(fèi)詳解
這篇文章主要介紹了關(guān)于Java整合RocketMQ實(shí)現(xiàn)生產(chǎn)消費(fèi)詳解,RocketMQ作為一款純java、分布式、隊(duì)列模型的開源消息中間件,支持事務(wù)消息、順序消息、批量消息、定時(shí)消息、消息回溯等,需要的朋友可以參考下2023-05-05

