当前位置:编程学习 > JAVA >>

java swing 怎样注册系统级快捷键、如何监听窗体的即将关闭事件

问题1:java swing 怎样注册系统级快捷键
       比如注册一个显示、隐藏窗体的快捷键

问题2:java swing如何监听窗体“即将关闭”事件,监听之后还能“终止”窗体关闭的行为
       使用场景是:在窗体内有未保存的数据时候(有未保存标志位来识别),
                   如果点击右上角的叉“x”来关闭窗体,
                   就弹出提示框“是否离开”,
                   如果选择“是”,就关闭窗体,
                   如果选择“否”,就什么也不做,窗体仍旧打开。 swing --------------------编程问答-------------------- --------------------编程问答-------------------- frame注册windowlistener:

  frame.addWindowListener(new WindowAdapter() {
   public void windowClosing(WindowEvent e) {
   int value=JOptionPane.showConfirmDialog(null, "确定要关闭吗?");
    if (value==JOptionPane.OK_OPTION) {
     System.exit(0);
    }
   }
--------------------编程问答-------------------- 问题一同问,求高手解答

比如我做一个计算器,如何做到按键盘上的,就可以触发SWING上相应的按钮
就像系统自带的计算器,你要输入1,可以选择鼠标点击1按钮,也可以键盘按下1,
--------------------编程问答--------------------
引用 2 楼 huxiweng 的回复:
frame注册windowlistener:

问题1呢,老大知道吗?
java swing 怎样注册系统级快捷键
比如注册一个显示、隐藏窗体的快捷键 --------------------编程问答--------------------
引用 3 楼 u010250805 的回复:
问题一同问,求高手解答

比如我做一个计算器,如何做到按键盘上的,就可以触发SWING上相应的按钮
就像系统自带的计算器,你要输入1,可以选择鼠标点击1按钮,也可以键盘按下1,


你这个只要绑定按键就可以啊,frame激活状态下就能监听到按键事件

我的问题是frame没有激活的情况下,还能监听到按键
我需要用快捷键来显示、隐藏frame
--------------------编程问答-------------------- http://blog.csdn.net/ycb1689/article/details/7737697 --------------------编程问答--------------------
引用 6 楼 xiongyanbing123123 的回复:
http://blog.csdn.net/ycb1689/article/details/7737697

谢谢!

请问下问题2怎么解决?2L版主的回答我测试了一下,不行,选择否照样会关闭窗口 --------------------编程问答--------------------
引用 2 楼 huxiweng 的回复:
frame注册windowlistener:

我刚测试了一下,行不通啊,选择否照样会关闭
closing只能说是在关闭之前做一些事,但是不能阻止关闭
如何终止关闭? --------------------编程问答--------------------
引用 5 楼 lcy_1024 的回复:
Quote: 引用 3 楼 u010250805 的回复:

问题一同问,求高手解答

比如我做一个计算器,如何做到按键盘上的,就可以触发SWING上相应的按钮
就像系统自带的计算器,你要输入1,可以选择鼠标点击1按钮,也可以键盘按下1,


你这个只要绑定按键就可以啊,frame激活状态下就能监听到按键事件

我的问题是frame没有激活的情况下,还能监听到按键
我需要用快捷键来显示、隐藏frame

楼主能否教教我如何绑定,百度了一下,貌似都不行。 --------------------编程问答--------------------
引用 9 楼 u010250805 的回复:
楼主能否教教我如何绑定,百度了一下,貌似都不行。


随便在站内搜一个啊,java支持的

http://blog.csdn.net/Gaowen_HAN/article/details/7738655
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,