键盘事件的事件源一般丐组件相关,当一个组件处于激活状态时,按下、释放或敲击键盘上的某个键时就会发生键盘事件。键盘事件的接口是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(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){}
}

系列文章:

Java知多少(94)键盘事件的更多相关文章

  1. java鼠标与键盘事件监听

    package cn.stat.p3.windowdemo; import java.awt.Button; import java.awt.FlowLayout; import java.awt.F ...

  2. Java知多少(82)标签、按钮和按钮事件简介

    标签和按钮也许是图形界面中最常见的两种组件,按钮又总是与激发动作事件有关. 标签 标签(JLabel)是最简单的Swing组件.标签对象的作用是对位于其后的界面组件作说明.可以设置标签的属性,即前景色 ...

  3. Java知多少(93)鼠标事件

    鼠标事件的事件源往往与容器相关,当鼠标进入容器.离开容器,或者在容器中单击鼠标.拖动鼠标时都会发生鼠标事件.java语言为处理鼠标事件提供两个接口:MouseListener,MouseMotionL ...

  4. java获取键盘事件

    转 <script type="text/javascript" language=JavaScript charset="UTF-8"> docu ...

  5. Java GUI 键盘事件

    import java.awt.FlowLayout; import java.awt.Frame; import java.awt.TextField; import java.awt.event. ...

  6. (94)Wangdao.com_第二十七天_键盘事件

    键盘事件 键盘事件由用户击打键盘触发 主要有 keydown.keyup .keypress三个事件,它们都继承了 KeyboardEvent 接口. keydown         按下键时 触发 ...

  7. Java知多少(完结篇)

    Java知多少(1)语言概述 Java知多少(2)虚拟机(JVM)以及跨平台原理 Java知多少(3) 就业方向 Java知多少(4)J2SE.J2EE.J2ME的区别 Java知多少(5) Java ...

  8. Java知多少(下)

    Java知多少(78)Java向量(Vector)及其应用 Java知多少(79)哈希表及其应用 Java知多少(80)图形界面设计基础 Java知多少(81)框架窗口基础 Java知多少(82)标签 ...

  9. Java知多少(112)数据库之删除记录

    删除数据表也有3种方案 一.使用Statement对象 删除数据表记录的SQL语句的语法是: delete from 表名 where 特定条件 例如 : delete from ksInfo whe ...

随机推荐

  1. vue中的dom指令控制

    一.条件控制指令1.v-if,条件渲染 <div id="J_app"> <p v-if="show">显示该标签</p> ...

  2. JS-最全的创建对象的方式

    JS最全创建对象方式汇总 1.最简单的方式--创建一个Object实例 var person = new Object(); //创建实例 person.name = "BlueBeginn ...

  3. json Map JsonObject JsonArray

    json字符串是不应包含 "\"转义字符的,json不能通过js json工具转换或者java json工具 包转换那么一定程度上json字符串已被在一次处理不在能转成json了. ...

  4. BZOJ.3140.[HNOI2013]消毒(二分图匹配 匈牙利)

    题目链接 不难想到每次一定是切一片. 如果是平面,很容易想到直接做二分图匹配.对于3维的? 可以发现min(a,b,c)的最大值只有\(\sqrt[3]{n}≈17\),我们暴力枚举这一最小值代表的是 ...

  5. 洛谷.4172.[WC2006]水管局长(LCT Kruskal)

    题目链接 洛谷(COGS上也有) 不想去做加强版了..(其实处理一下矩阵就好了) 题意: 有一张图,求一条x->y的路径,使得路径上最长边尽量短并输出它的长度.会有<=5000次删边. 这 ...

  6. Linux 下 make 命令 及 make 笔记

    Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一.管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题.本文我们将用一些实例来讨论 make ...

  7. Java 语法糖详解

    语法糖 语法糖(Syntactic Sugar),也称糖衣语法,是由英国计算机学家 Peter.J.Landin 发明的一个术语,指在计算机语言中添加的某种语法. 这种语法对语言的功能并没有影响,但是 ...

  8. nodejs sass安装报错一招解决

    背景: 这个问题不是一天两天了,有时候是网速不行,有时候是被墙了,有时候是github把node-sass的包转移目录导致下载失败. Cannot download "https://git ...

  9. 原创:vsphere概念深入系列三:vSphere命令行管理

    假设无法近距离接触物理主机,只能远程命令行管理,. 以下命令行可以起到点作用. 首先需要安装vSphere CLI工具. 启动后界面: 1.查看datastore内容 所有命令行工具都可以加上-ser ...

  10. 原创:vsphere概念深入系列二:vSphere交换机命令行查看排错

    1.如何查看VM的IP Addresses, MAC Addresses, Uplink ports, Port ID,VSS/VDS,portgroup,DVPort Group,vmnic Upl ...