在做项目时,发现在JDialog中,直接通过addKeyListener来监听回车键不起作用,无法监听到回车键,后面在网上查了些资料,终于解决了。方法如下:

KeyStroke stroke = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER,0);

this.getRootPane().registerKeyboardAction(new ActionListener() {

@Override
    public void actionPerformed(ActionEvent e) {
     // TODO Auto-generated method stub
 //do something
  }
  }, stroke, JComponent.WHEN_IN_FOCUSED_WINDOW);

或者重写createRootPane方法,在方法里面注册keyboardaction

  1. @Override
  2. protected JRootPane createRootPane(){
  3. KeyStroke  stroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE,0);
  4. JRootPane rootPane = new JRootPane();
  5. rootPane.registerKeyboardAction(new ActionListener() {
  6. @Override
  7. public void actionPerformed(ActionEvent e) {
  8. escapeKeyProc();
  9. }
  10. },stroke, JComponent.WHEN_IN_FOCUSED_WINDOW);
  11. return rootPane;
  12. }

Swing JDialog监听回车键的更多相关文章

  1. 在JTextField中监听回车键,并执行相应按钮

    在jbInit() 中加入jTextField1的按键监听,代码如下:    jTextField1.addKeyListener(new KeyAdapter(){       public voi ...

  2. Android之输入内容监听回车键【Editor】

    2.输入内容时按下回车键时监听 username.setOnEditorActionListener(new OnEditorActionListener() { @Override public b ...

  3. JAVA Swing 事件监听

    EventListner 接口 它是一个标记接口,每一个监听器接口扩展.这个类定义在java.util包. 类声明 以下是声明java.util.EventListener接口: public int ...

  4. 【Js应用实例】jQuery监听回车键

    $(function(){ //焦点放在第一个文本输入框 $('input:text:first').focus(); //获取所有的输入框 var $inp=$('input'); //定义所有输入 ...

  5. java里监听相关ActionListene的理解。========此代码是错误的,

    package com.aa; import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event. ...

  6. 使用TextView/EditText应该注意的地方,监听EditText,addTextChangedListener

    http://blog.csdn.net/huichengongzi/article/details/7818676 监听 EditText 控件: addTextChangedListener(ne ...

  7. Java Swing界面编程(22)---事件处理:动作事件及监听处理

    要想让一个button变得有意义,就必须使用事件处理.在swing的事件处理中.能够使用ActionListener接口处理button的动作事件. package com.beyole.util; ...

  8. Java Swing类 例子代码:将子类继承JFrame 并且接口按键监听ActionLisetener (将内容直接添加到JFrame不创建Contaniner)

    package rom; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import ...

  9. Java Swing界面编程(25)---事件处理:鼠标事件及监听处理

    假设想对一个鼠标的操作进行监听,假设鼠标按下.松开等.则能够使用MouseListener接口. package com.beyole.util; import java.awt.event.Mous ...

随机推荐

  1. If you pay peanuts,you get monkeys

    英文原文:Before you send an email to contact a web developer, please read this… 做为一名开发者,我收到很多关于开发新 web 应 ...

  2. U6Linux的文件权限与目录配置

    1.ll查看文件信息:[权限][连接][所有者][用户组][文件容量][修改日期][文件名] 2.第一个字符代表文件的属性:若为[d]则是目录.若为[-]则是文件.若为[l]则为连接. 3.chgrp ...

  3. 在项目里交叉使用Swift和OC

    Swift and Objective-C in the Same Project 在项目里交叉使用Swift和OC Swift与OC的兼容性使得你能够在项目里使用Swift+OC的方式编写应用程序, ...

  4. hdu 2082 生成函数

    主题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2082 找单词 Time Limit: 1000/1000 MS (Java/Others)    Me ...

  5. js 自定义方法 实现停留几秒 sleep

    function sleep(numberMillis) { var now = new Date(); var exitTime = now.getTime() + numberMillis; wh ...

  6. ubuntu server编译安装nginx

    刚刚安装好了ubuntu server14.04,如今要安装一个webserver,纯静态就用nginx应用程序server吧,性能出众啊. 安装编译环境 我们这里採用源代码编译安装的方式,大家能够看 ...

  7. LDAPserver的安装

    源代码安装,以root用户进行 由于:由于openldap须要用Berkeley DB来存放数据,所以要先安装所以需先安装Berkeley DB 4.2.52数据库. 一 安装Berkeley DB ...

  8. centos 安装 使用本地图像文件来安装网络安装

    有时很无奈,无盘,U它只有盘4G而一个centos该盘4.16G,如何将它安装了网络安装,对不起,你想用20M更多的带宽,并注意使用网络启动盘的方法 没有条件,应该创造条件: 网络安装,需要下载图片, ...

  9. LAMBDA表达式常用 (全)

    这里主要是将数据库中的常用操作用LAMBDA表达式重新表示了下,用法不多,但相对较常用,等有时间了还会扩展,并将查询语句及LINQ到时也一并重新整理下: 1.select语句:books.Select ...

  10. Windows Phone开发(18):变形金刚第九季——变换

    原文:Windows Phone开发(18):变形金刚第九季--变换 变换不是一个好理解的概念,不是吓你,它涉及很多有关代数,几何,以及线性代数的知识.怎么?被我的话吓怕了?不用怕,尽管我们未必能够理 ...