Janus wrote:
> Hej NG!
>
> Kan man ikke få en JDialog til at reagere på KeyEvents? JDialog
> returnerer i hvert fald true på isFocusable().
> Jeg vil bare ha' min dialogboks til at lukke på et Esc-tryk.
>
>
> Vh Janus
Prøv at kalde denne routine fra et passende sted i din dialog
protected void mapEscape() {
InputMap map =
getRootPane().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
//Adding the key that needs to be captured
map.put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), "cancel");
ActionMap actionMap = getRootPane().getActionMap();
//Creating the action that needs to be executed when the key is
pressed
Action close = new AbstractAction() {
public void actionPerformed(ActionEvent ae) {
setVisible(false);
}
};
actionMap.put("cancel", close);
}
/Mikael