TITLE:JDialogをESCキーで閉じる

JDialogをESCキーで閉じる

編集者:Terai Atsuhiro
作成日:2004-03-15
更新日:2021-09-19 (日) 10:55:00

概要

ESCキーを押すと閉じるJDialogを作成します。 大部分をJDialog says ESC key is already registered--where?から、そのまま引用しています。

#screenshot

サンプルコード

 final JDialog dialog = new JDialog(frame, "タイトル", true);
 AbstractAction act = new AbstractAction("了解") {
   public void actionPerformed(ActionEvent evt) {
     dialog.dispose();
   }
 };
 InputMap imap = dialog.getRootPane().getInputMap();
 imap.put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), "close-it");
 dialog.getRootPane().getActionMap().put("close-it", act);
  • &jnlp;
  • &jar;
  • &zip;

解説

JOptionPane.showMessageDialog()メソッドで作成したダイアログは、ESCキーを押すと閉じますが、JDialogの場合は閉じてくれません。そこでJDialogでもESCキーを押すと閉じるようにInputMapなどを使って設定します。

参考リンク

コメント