static AutoCloseable tempOnKeyTyped(final int keyCode, final Runnable r, final JComponent a) { if (a == null) null; final KeyAdapter listener = new { public void keyTyped(KeyEvent e) { if (e.getKeyCode() == keyCode && e.getModifiers() == 0) pcallF(r); } }; swing { a.addKeyListener(listener); } ret autoCloseable { swing { a.removeKeyListener(listener); } }; }