在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);
shortcut = new MenuShortcut ( KeyEvent.VK_F10 );
MenuItem mItem1 = new MenuItem("操作",shortcut);
#2
JMenu的快捷键设置方法是一样的:
helpMenu = new Menu("帮助", true);
shortcut = new MenuShortcut ( KeyEvent.VK_DELETE );
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的方法相同。
对于JMenuItem, 用 setAccelerator(), 用setMnemonic()是没用的。设置什么热键则参数和JMenu的方法相同。
#1
MenuShortcut shortcut;
shortcut = new MenuShortcut ( KeyEvent.VK_F10 );
MenuItem mItem1 = new MenuItem("操作",shortcut);
shortcut = new MenuShortcut ( KeyEvent.VK_F10 );
MenuItem mItem1 = new MenuItem("操作",shortcut);
#2
JMenu的快捷键设置方法是一样的:
helpMenu = new Menu("帮助", true);
shortcut = new MenuShortcut ( KeyEvent.VK_DELETE );
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的方法相同。
对于JMenuItem, 用 setAccelerator(), 用setMnemonic()是没用的。设置什么热键则参数和JMenu的方法相同。