0
간단한 KeyBindings 프로그램을 작동 시키려고합니다. 나는 java doc에서 지시를 따랐고,이 (Java Key Bindings Not Working) 스레드에서 응답 한 것들을 테스트하려했지만, 나는 그저 작동하지 않는다. "F1"을 누를 때 콘솔에 "test"를 출력하고 싶습니다. 누구든지 내 실수를 발견 할 수 있습니까? 상기 프레임이 표시되기 전에KeyBindings를 작동 시키려고 시도합니다.
JFrame frame = new JFrame("shit");
frame.setSize(800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
JPanel jPanel = new JPanel();
jPanel.getInputMap().put(KeyStroke.getKeyStroke("F1"), "focus");
jPanel.getActionMap().put("focus", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("test");
}
});
frame.add(jPanel);