InputMap/ActionMap을 사용하여 삭제 키를 가로 채려고합니다. Enter 키를 눌러 작동 시키지만 삭제로 응답하지 않는 것 같습니다 (Mac OSX에서 문제가있는 부분인지 궁금합니다).Java 스윙의 키 스트로크
내가 뭘 잘못하고 있니?
private void setupKeyBindings(final JList jlist) {
String delAction = "deleteItems";
KeyStroke delKey = KeyStroke.getKeyStroke("DELETE");
jlist.getInputMap().put(delKey, delAction);
jlist.getActionMap().put(delAction, new AbstractAction()
{
@Override public void actionPerformed(ActionEvent e) {
System.out.println("delete pressed");
doDelete(jlist);
}
});
String enterAction = "useItems";
KeyStroke enterKey = KeyStroke.getKeyStroke("ENTER");
jlist.getInputMap().put(enterKey, enterAction);
jlist.getActionMap().put(enterAction, new AbstractAction()
{
@Override public void actionPerformed(ActionEvent e) {
System.out.println("enter pressed");
}
});
}
https://docs.oracle.com/javase/7/docs/api/java/awt/event/KeyEvent.html 당신이 시도 되세요'KeyStroke.getKeyStrokeForEvent (KeyEvent.VK_DELETE) '? 이것은 어두운 곳에서의 촬영이지만,'KeyStroke.getKeyStroke ("BACKSPACE")'에 대해서는 어떨까요? – earldouglas