Swing:按下ESC键时如何关闭对话框?

Swing:按下ESC键时如何关闭对话框?,第1张

Swing:按下ESC键时如何关闭对话框

使用

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     ); }


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/5500730.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-12
下一篇2022-12-12

发表评论

登录后才能评论

评论列表(0条)

    保存