关于java中JMenu的快捷键的设置!!!

时间:2023-01-26 19:23:27


     在java中JMenu的快捷键设置方法是:(假定设定快捷键是Ctrl+k)
     KeyStroke ks=KeyStroke.getKeyStroke(KeyEvent.VK_K,Event.CTRL_MASK)
     但是如果我要设定快捷键为Delete键,请问KeyEvent.后面带的常数是什么?
     还有,如果我想设定快捷键为F3(或者其他的键),那么应该怎么指定常数?

5 个解决方案

#1


MenuShortcut    shortcut;
shortcut = new MenuShortcut ( KeyEvent.VK_F10 );
MenuItem mItem1 = new MenuItem("操作",shortcut);

#2


JMenu的快捷键设置方法是一样的:
helpMenu = new Menu("帮助", true);
shortcut = new MenuShortcut ( KeyEvent.VK_DELETE );

#3


对不起,我用的是JMenuItem和JMenu,不支持MenuShortcut shortcut

#4


JMenu.setAccelerator(shortCut);

#5


在JBuilder7中,为JMenu设定快捷键如: JMenu jmenu=new JMenu("A Menu");     jmenu.setMnemonic(KeyEvent.VK_DELETE);  那么该jmenu的快捷键就是 ALT+Delete, 想设F1-F12就用 KeyEvent.VK_F1-KeyEvent.VK_F12,但是不能用 VK_SHIFT,VK_CONTROL,VK_ALT. 对于 jmenu 不能用 jmenu.setAccelerator(KeyStroke.getKeyStroke(...)), 会报错的。

对于JMenuItem, 用 setAccelerator(), 用setMnemonic()是没用的。设置什么热键则参数和JMenu的方法相同。

#1


MenuShortcut    shortcut;
shortcut = new MenuShortcut ( KeyEvent.VK_F10 );
MenuItem mItem1 = new MenuItem("操作",shortcut);

#2


JMenu的快捷键设置方法是一样的:
helpMenu = new Menu("帮助", true);
shortcut = new MenuShortcut ( KeyEvent.VK_DELETE );

#3


对不起,我用的是JMenuItem和JMenu,不支持MenuShortcut shortcut

#4


JMenu.setAccelerator(shortCut);

#5


在JBuilder7中,为JMenu设定快捷键如: JMenu jmenu=new JMenu("A Menu");     jmenu.setMnemonic(KeyEvent.VK_DELETE);  那么该jmenu的快捷键就是 ALT+Delete, 想设F1-F12就用 KeyEvent.VK_F1-KeyEvent.VK_F12,但是不能用 VK_SHIFT,VK_CONTROL,VK_ALT. 对于 jmenu 不能用 jmenu.setAccelerator(KeyStroke.getKeyStroke(...)), 会报错的。

对于JMenuItem, 用 setAccelerator(), 用setMnemonic()是没用的。设置什么热键则参数和JMenu的方法相同。