F2 키를 액셀러레이터 키로 설정 한 "rename"메뉴 항목이 있습니다. 실제로 메뉴가 표시되면 "이름 바꾸기"옆에 약간의 "F2"표시가 나타납니다.스윙 : 액셀러레이터 키로 기능 키 (F2) 설정
슬프게도, 이것은 작동하지 않습니다. 이 가속기는 응답을 트리거하지 않습니다. 단축키를 Ctrl + F2로 변경하면 작동합니다.
InpoutMpa/ActionMap을 사용해야하는 것 같습니다. 그 문제는 앱의 모든 곳에서 작동하도록 이것을 최상위 JFrame과 연결하려고합니다. 그러나 JFrame에는 getInputMap() 메소드가 없습니다.
분실.
[추가]
ks = KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0);
JMenuItem mi = new JMenuItem("Rename");
mi.setAccelerator(ks);
mi.addActionListener(action);
우리에게 보여주십시오 당신이 가속기를 설정하는 데 사용 코딩! –
OS/윈도우 관리자가 키 입력을 "소비"하여 실제로 Swing 응용 프로그램에 도달하지 못하게 할 수 있습니까 (예 : F2가 특별한 것으로 매핑되었지만 Ctrl-F2가 아닌 경우)? – netzwerg