0
對於我的揮杆應用JMenuItem
具有加速器設置是這樣的:設置的JMenuItem加速器文本,不只是動作
JMenuItem numFieldsMI = new JMenuItem("Set Number of Fields");
numFieldsMI.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_3,
ActionEvent.CTRL_MASK+ActionEvent.SHIFT_MASK));
此,當GUI被intitialized,讓旁邊的文本菜單項改爲「按Ctrl + Shift + 3「,但當然意圖是文本是」Ctrl +#「。我怎樣才能做到這一點?
我想'ActionEvent.CTRL_MASK + ActionEvent.SHIFT_MASK'應該是'ActionEvent.CTRL_MASK | ActionEvent.SHIFT_MASK' ... – MadProgrammer
我玩過'KeyStroke.getKeyStroke(KeyEvent.VK_NUMBER_SIGN,ActionEvent.CTRL_MASK)'和'KeyStroke.getKeyStroke(KeyEvent.VK_NUMBER_SIGN,ActionEvent.CTRL_MASK | ActionEvent.SHIFT_MASK)',並且都不會觸發菜單的'ActionListener',而'KeyEvent.VK_3,ActionEvent.CTRL_MASK | ActionEvent.SHIFT_MASK)'確實有效,雖然它確實顯示了'Ctrl + Shift + 3'...所以,你可以讓它顯示你想要的或者工作的,你的選擇 – MadProgrammer