[置顶] java Gui 键盘监听事件
简单写一个java Gui键盘监听事件,实现的效果就是按下键盘控制台输出你按下的键。比如:按下A控制台就输出A
效果如图:
以下把实现的效果分为几个步骤:
1.新建一个窗体类继承窗体;
2.给这个窗体添加addKeyListener(new MyKeyListener()),方法里面实例化监听键盘类;
3.新建一个键盘类继承KeyAdapter;
4.类里面的方法名必须是keyPressed(KeyEvent e);//KeyEvent就是jre对你按下/释放键盘按键的包装
5.实例化窗体类。
下面贴出上图实现的代码:
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent; import javax.swing.JFrame; /**
*
*/ /**
* @author Administrator
*
*/
//窗体类
public class MyFrame extends JFrame { /**
* @param args
*/
char charA;
public MyFrame(){
this.setSize(500,100);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("my jframe");
this.setVisible(true);
this.addKeyListener(new MyKeyListener()); } public static void main(String[] args) {
// TODO Auto-generated method stub
new MyFrame();
} }
//监听键盘类
class MyKeyListener extends KeyAdapter{
public void keyPressed(KeyEvent e){
char charA=e.getKeyChar();
System.out.println("你按了《"+charA+"》键");
}
}
另外一种写法就是在给窗体添加监听的时候直接 实例方法,不用再写一个类。建议用这个写法。代码如下:
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent; import javax.swing.JFrame; /**
*
*/ /**
* @author Administrator
*
*/
//窗体类
public class MyFrame extends JFrame { /**
* @param args
*/
char charA;
public MyFrame(){
this.setSize(500,100);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("my jframe");
this.setVisible(true);
this.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
char charA=e.getKeyChar();
System.out.println("你按了《"+charA+"》键");
}
}); }
public static void main(String[] args) {
// TODO Auto-generated method stub
new MyFrame();
} }
[置顶] java Gui 键盘监听事件的更多相关文章
- js 获取当前焦点所在的元素、给元素和input控件添加键盘监听事件、添加页面级的键盘监听事件
页面级的键盘监听事件 document.onkeydown = function (event) { var e = event || window.event || arguments.callee ...
- JPanel添加键盘监听事件
因为在自己的游戏需求中谢了要用键盘控制飞机的移动,所以用到键盘监听事件,但是使用了JPanel之后添加了键盘监听事件,按相应的方向键飞机并没有反应.但是如果是为JFrame的内容面板加则会有反应. 为 ...
- JAVA JComboBox的监听事件(ActionListener、ItemListener)
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 参考资料: http://263229365.iteye.com/blog/1040329 https://www.ja ...
- java中的监听事件
java监听器实现的类 1.ServletContextListener:对servlet上下文的创建和销毁监听 2.ServletContextAttributeListener:监听servlet ...
- GUI常用监听事件
概念 对鼠标.键盘等一系列事件做出相应的反馈 事件监听 //创建监听事件 public class Demo { public static void main(String[] args) { Fr ...
- iOS键盘监听事件
1.注册键盘通知事件 NSNotificationCenter *center = [NSNotificationCenter defaultCenter]; // 键盘将出现事件监听 [center ...
- Android 软键盘监听事件
Android软键盘的隐藏显示研究 Android是一个针对触摸屏专门设计的操作系统,当点击编辑框,系统自动为用户弹出软键盘,以便用户进行输入. 那么,弹出软键盘后必然会造成原有布局高度的减少 ...
- Cocos Creator 键盘监听事件
键盘事件键盘.设备重力传感器此类全局事件是通过函数 cc.systemEvent.on(type, callback, target) 注册的.cc.SystemEvent.EventType.KEY ...
- 键盘监听事件KeyListener
说明:按下实体按键,相应虚拟按键变绿色,释放按键,变白色. public class Demo extends JFrame { private List<JButton> list; ...
随机推荐
- Python 模块续和面向对象的介绍(六)
一.基本模块 shutil 文件.目录.压缩包的处理模块 shutil.copyfile(src, dst) 拷贝文件 >>> shutil.copyfile('a.log','b. ...
- Net Core在Linux环境
Net Core在Linux环境 基础环境和相关软件准备 1.CentOS7.1 64位系统(或者其他CentOS版本的64位系统) 2.WinSCP软件(主要是方便管理和编辑Linux系统的文件) ...
- 设置QPushButton的平面与突出(遍历控件)
#include "ui_maindialog.h" #include "maindialog.h" #include <QState> #incl ...
- mysqli_set_charset和SET NAMES优劣分析
bool mysqli_set_charset ( mysqli $link , string $charset ) 这应该是首选的用于改变字符编码的方法,不建议使用 mysqli_query()执行 ...
- linux chmod权限
Linux chmod 命令 chmod用于改变文件或目录的访问权限.用户用它控制文件或目录的访问权限.该命令有两种用法.一种是包含 字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. 1 ...
- VS2013配置opencv3.0.0 (win8.1)
今天下载了最新版本的opencv3.0.0,之前一直是opencv2.4.8 点击.exe文件,我将解压后的文件夹放在D:\盘,取名opencv30,D:\opencv30 添加环境变量:D:\ope ...
- 三、nginx301跳转302跳转
301跳转设置: server { listen 80; server_name downcc.com; rewrite ^/(.*) http://www.downcc.com/$1 permane ...
- H5前端面试题及答案(2)
最近想着跳槽,但面试的邀约不多,内心有点烦躁.梳理梳理心情,跳槽季竞争也大,努力做好自己... 21.请设计一套方案,用于确保页面中js加载完全. <!doctype html> < ...
- django目录下的各文件
本文部分转载. 使用Python setup.py install命令从源代码安装完Django后,这些都会被拷贝到Python安装目录下的Lib/site-packages/django子目录中.之 ...
- mac下的应用程序发布 及 打包(Python写的脚本,可打包第三方库)
其实这个问题在网上能搜到大把的解决方案.大家的统一答案都是 otool -L yourapp.app/Contents/MacOS/yourapp 根据输出信息在运行 install_name_too ...