2013-03-07 72 views
3

我有一個Java Swing應用程序,我可以在其中使用下面的一段代碼設置快捷鍵。例如Ctrl + K在Swing中製作F1快捷鍵

keyHelp.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_K, Event.CTRL_MASK)); 
keyHelp.setMnemonic((int) 'K');//This is the Line I need Help in 

我只是無法弄清楚如何添加相同的使用F1鍵作爲快捷方式......誰能請幫助?

+2

有'KeyEvent.VK_F1'是否不使用它的工作? – tozka 2013-03-07 08:31:57

+0

也許這可能對你有任何幫助: http://stackoverflow.com/questions/2019371/swing-setting-a-function-key-f2-as-an-accelerator – 2013-03-07 08:33:18

+0

'KeyEvent.VK_F1'不是工作 – ErrorNotFoundException 2013-03-07 08:49:13

回答

5

使用Action,如圖所示herehere,可以使這些設置更易於管理。還請考慮getMenuShortcutKeyMask()而不是假設Event.CTRL_MASK

3

使用,

KeyEvent.VK_F1

我認爲這將幫助你。

+0

這個'keyHelp.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1,'0'));'是不工作的 – ErrorNotFoundException 2013-03-07 08:58:59

1

如果你需要讓你的快捷鍵只是「F1」無CTRL,它應該是這樣的,

keyHelp.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0));