static void handleCtrlTab_dev(JDesktopPane desktop, final Runnable r) { S name1 = "ctrl+tab pressed", name2 = "ctrl+tab released"; desktop.getInputMap().put(KeyStroke.getKeyStroke("control TAB"), name1); desktop.getInputMap().put(KeyStroke.getKeyStroke("released control TAB"), name2); desktop.getActionMap().put(name1, r { print("ctrl+tab yo") }); desktop.getActionMap().put(name2, r { print("ctrl+tab no more") }); }