博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
事件监听机制——键盘事件
阅读量:5350 次
发布时间:2019-06-15

本文共 2059 字,大约阅读时间需要 6 分钟。

键盘事件

首先创建一个窗体,在窗体添加一个按钮Button,Frame的布局为流式布局,在构造函数中对Frame进行初始化,通过初始化函数init()封装实现。

要求:

(1)按下键盘上的键时,得到键盘字母和键盘码。

思考:对于一个字母的键和多个字母的键分别怎么处理。例如:A和SHIFT

(2)实现键盘对按钮的控制。就像登陆界面一下,按ENTER实现登陆。

思考:

(1)按钮活动事件与按钮活动事件的区别?

按钮活动包括单机、双击、进入、离开等等,是更大的范围。平时开发时优先选择addActionListener。

(2)如何知道一个事件监听有无适配器?

一般一个组件包括3个方法及3个以上方法时有适配器,方便特定事件处理,创建事件对象。

import java.awt.*;import java.awt.event.*;//按钮活动事件与按钮活动事件的区别?优先选择addActionListenerclass MouseAndKeyEvent {	//定义该图形所带的组建的引用	private Frame f;	private Button btn;	MouseAndKeyEvent()	{		init();	}	public void init()	{		f=new Frame("My frame");		//对frame进行基本设置		f.setBounds(300,100,600,500);		f.setLayout(new FlowLayout());		btn=new Button("my button");				//加载一下窗体事件		myEvent();		//将组件添加到窗体中		f.add(btn);				//显示窗体		f.setVisible(true);	}	private void myEvent()	{		f.addWindowListener(new WindowAdapter()		{			public void windowClosing(WindowEvent e)			{				System.exit(0);			}		});				//给btn添加一个键盘监听		btn.addKeyListener(new KeyAdapter()		{			//*****建议对于不同种类型分条演示*******			public void keyPressed(KeyEvent e)			{				//得到键盘字母 和键盘码				System.out.println(e.getKeyChar()+"...."+e.getKeyCode());								//获得按下去键的字符串				System.out.println(KeyEvent.getKeyText(e.getKeyChar())+"...."+e.getKeyCode());								//按ESC使程序退出				if (e.getKeyCode()==KeyEvent.VK_ESCAPE)				{					System.exit(0);				}				//组合键练习--按住Ctrl+ENTER				if (e.isControlDown()&&e.getKeyCode()==KeyEvent.VK_ENTER)					System.out.println("ctrl+enter is run");							}		});		/*		//按钮活动监听		btn.addActionListener(new ActionListener()		{			public void actionPerformed(ActionEvent e)			{				System.out.println("action ok");			}		});		//当鼠标进入按钮区域触发该事件		btn.addMouseListener(new MouseAdapter()		{			private int count=1;			//鼠标进入时触发			public void mouseEntered(MouseEvent e)			{				System.out.println("鼠标进入"+count+++"次");			}			//点击时触发			public void mouseClicked(MouseEvent e)			{				if(e.getClickCount()==2)					System.out.println("鼠标双击"+count+++"次");			}		});		*/			}			public static void main(String[] args) 	{		new MouseAndKeyEvent();	}}

转载于:https://www.cnblogs.com/xiangyangzhu/p/4239779.html

你可能感兴趣的文章
传统企业-全渠道营销解决方案-1
查看>>
Lucene全文检索
查看>>
awk工具-解析1
查看>>
推荐一款可以直接下载浏览器sources资源的Chrome插件
查看>>
CRM product UI里assignment block的显示隐藏逻辑
查看>>
AMH V4.5 – 基于AMH4.2的第三方开发版
查看>>
Web.Config文件配置之配置Session变量的生命周期
查看>>
mysql导入source注意点
查看>>
linux下编译安装nginx
查看>>
ArcScene 高程不同的表面无法叠加
查看>>
[ONTAK2010] Peaks
查看>>
DLL 导出函数
查看>>
windows超过最大连接数解决命令
查看>>
12个大调都是什么
查看>>
angular、jquery、vue 的区别与联系
查看>>
参数范围的选择
查看>>
使用 MarkDown & DocFX 升级 Rafy 帮助文档
查看>>
THUPC2019/CTS2019/APIO2019游记
查看>>
Nodejs Express模块server.address().address为::
查看>>
4.3.5 Sticks (POJ1011)
查看>>