swing 能给一次给多个组件添加同一侦听吗 如上, 具体点是我打开一个弹出窗口, 窗口上有多个可以接收焦点的组件, 但是不管焦点在哪个组件上, 我只有按下ESC便可以将这个弹出窗口关闭, 这个怎么实现?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 建一个新的侦听,就是捕捉键盘按键,如果是ESC的键值,则关闭。然后在每一个组件上都加上这个监听的动作就行了。 答:当然有啦,否则这样加,还不累死人啊.方法是:向窗口中某一个组件注册一个击键处理,要求是WHEN_IN_FOCUSED_WINDOW就行了.代码:jButton.registerKeyboardAction(actionListener, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE), JComponent.WHEN_IN_FOCUSED_WINDOW);这样,当组件jButton拥有焦点或jButton没有焦点但与它处于同一个窗口中的任何其它组件所有焦点时,都可调用这个actionListener(即:事件处理的那个对象) 关于利用httpurlconnnection提交表单 applet访问网络资源???? 取得字符串 流 小问题 这里read的阻塞是什么意思啊 jnbridge,JAVA里的方法如何在VS2005里调用,请指教 Remote和Local问题 怎么用java在一幅图像中隐藏文件? 关于字数统计的小问题,我的程序只能查奇数行 JList怎么用? edtftpj实现ftp时的问题 怎么给jpanel 加一个 滚动条
当然有啦,否则这样加,还不累死人啊.
方法是:向窗口中某一个组件注册一个击键处理,要求是WHEN_IN_FOCUSED_WINDOW就行了.
代码:jButton.registerKeyboardAction(actionListener,
KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE),
JComponent.WHEN_IN_FOCUSED_WINDOW);
这样,当组件jButton拥有焦点或jButton没有焦点但与它处于同一个窗口中的任何其它组件所有焦点时,都可调用这个actionListener(即:事件处理的那个对象)