使用InputMap和ActionMap来处理Swing中的关键操作。要完全关闭对话框,请向其发送窗口关闭事件。

private static final KeyStroke escapeStroke =

KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0);

public static final String dispatchWindowClosingActionMapKey =

"com.spodding.tackline.dispatch:WINDOW_CLOSING";

public static void installEscapeCloseOperation(final JDialog dialog) {

Action dispatchClosing = new AbstractAction() {

public void actionPerformed(ActionEvent event) {

dialog.dispatchEvent(new WindowEvent(

dialog, WindowEvent.WINDOW_CLOSING

));

}

};

JRootPane root = dialog.getRootPane();

root.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(

escapeStroke, dispatchWindowClosingActionMapKey

);

root.getActionMap().put( dispatchWindowClosingActionMapKey, dispatchClosing

);

}

java esc_java – Swing:当按下ESC键时如何关闭对话框?相关推荐

  1. 当按下ESC键时,关闭应用程序

    在一个单文档MFC应用程序中,按下ESC时关闭应用程序,实现方法:在CMainFrame类里重载PreTranslateMessage(),代码如下: BOOL CMainFrame::PreTran ...

  2. int 9中断例程-;在屏幕中间依次显示'a'~'z',并可以让人看清。 在显示的过程中,按下Esc键后,改变显示的颜色...

    ;在屏幕中间依次显示'a'~'z',并可以让人看清. ;在显示的过程中,按下Esc键后,改变显示的颜色 assume cs:code stack segment db 128 dup(0) stack ...

  3. 贺利坚老师汇编课程74笔记:按下esc键改变显示颜色

    依次显示'a' - 'z' 无法看清屏幕显示,同一位置显示字母,字母切换太快 在显示一个字母后,延时一段时间 assume cs:code code segment start:mov ax,0b80 ...

  4. 微机原理:编写一个源程序,在键盘上按一个键,将从AL返回的ASCII码值显示出来,如果按下ESC键则程序退出。

    微机原理:编写一个源程序,在键盘上按一个键,将从AL返回的ASCII码值显示出来,如果按下ESC键则程序退出. DATAS SEGMENT msg db 'Input ',0dh,0ah,'$' te ...

  5. python如何检测是否按下ESC键

    你可以使用 Python 的 msvcrt 模块来检测是否按下了 ESC 键. import msvcrtdef check_esc_key():if msvcrt.kbhit():key = msv ...

  6. Linux下ESC键无法退出

    先按Esc键之后,没有什么反应,再按冒号就会出现反应,然后输入命令如(:wq)就Ok啦

  7. 解决联想电脑windows7系统开机提示DHCP自检,然后按下esc键提示Error1962No operating system found.Press any key to repeat boot

    按键盘ESC键出现,Error1962No operating system found.Press any key to repeat boot sequence,咋天也不知道碰到主机哪里,开机就提 ...

  8. 关于STM32上电按下复位键时串口输出FF

    最近玩stm32,使用串口发送数据在PC端使用串口工具检测接收到的数据,发现STM32串口发送到电脑的数据乱码,按下复位键总是显示FF,配置GPIO的时候先打开GPIO时钟再初始化GPIO和串口问题就 ...

  9. c语言xc比较大小写,我的电脑键盘经常在按下某个键时却同时出现两个字母(按下C键会同时出现XC...

    建议你将键盘到另一台电脑进行测试,如果是键盘故障请修理或更换,如果没有故障请修复一下系统. 如果故障依旧,建议先查杀一下木马,修复一下系统试试. 建议你下载恶意软件和木马强杀工具windows清理助手 ...

最新文章

  1. 分布式单点登录框架XXL-SSO
  2. 使用css实现点击切换效果
  3. 大促背后的流量利器|手淘push升级 比你更懂你
  4. JS的eval函数解密反混淆
  5. nginx忽略文件名大小写
  6. 为什么源码中很多方法就一行throw new RuntimeException(Stub!)
  7. 弹簧管压力表设计报告
  8. Scala 函数式编程(一) 什么是函数式编程?
  9. mstar v56几路hdmi_MSTAR运用及问题汇总_整理
  10. matlab神经网络工具箱使用教程
  11. Node.js升级或降低版本
  12. 牛腩新闻系统--.NET使用一般处理程序生成验证码
  13. GPON Type B保护
  14. html onload div,将备用页面内容加载到div onload中
  15. MFC检测程序未响应
  16. Plant Simulation 更改字体样式
  17. 浮点数的加减运算(阶码、尾数)
  18. linux-top命令详解
  19. 我的暗影精灵BIOS做过的更改
  20. nico和niconiconi(DP)

热门文章

  1. 能过ChilkatDotNet4.dll组件,开发SFTP,上传下载功能。
  2. 利用Boost影响Lucene查询结果的排序
  3. 老式计算机显示器是什么类型的,电脑显示器面板类型有哪些,显示器什么面板好?...
  4. ironpython 开发_[IronPython]IronPython开发环境的安装与设定
  5. 电脑音响怎么插_BMW宝马5系G38改原厂全套哈曼卡顿音响+无钥匙进入,厚街宝马原厂改装中心...
  6. Python程序中各函数间调用关系分析与可视化
  7. 微课|中学生可以这样学Python(8.4节):递归算法例题讲解1
  8. 微课|中学生可以这样学Python(2.3.3节):filter()函数
  9. 面向对象程序设计中“超类”和“子类”概念的来历
  10. android版本管理工具下载,apk应用管理app下载