問題,我的代碼:一些關於setMnemonic來
public class MenuBar extends JFrame {
public MenuBar() {
initUI();
}
public final void initUI() {
JMenuBar menubar = new JMenuBar();
JMenu file = new JMenu("File");
file.setMnemonic(KeyEvent.VK_F);
JMenuItem eMenuItem = new JMenuItem("Exit");
JMenuItem oMenuItem = new JMenuItem("Open Another");
eMenuItem.setMnemonic(KeyEvent.VK_E);
oMenuItem.setMnemonic(KeyEvent.VK_O);
eMenuItem.setToolTipText("Exit application");
oMenuItem.setToolTipText("Open another Window");
eMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
System.exit(0);
}
});
oMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
main(null);
}
});
file.add(eMenuItem);
file.add(oMenuItem);
menubar.add(file);
setJMenuBar(menubar);
setTitle("Simple menu");
setSize(300, 200);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
MenuBar ex = new MenuBar();
ex.setVisible(true);
}
});
}
}
它工作正常,但我有一個關於setMnemonic來的問題。如何使用eMenuItem的助記符來按E,而不是Alt + E?感謝您的幫助! (請不是我離開進口了intentially,爲長度問題)
[JMenuItem.addMenuKeyListener](http://docs.oracle.com/javase/7/docs/api/javax/swing/JMenuItem.html#addMenuKeyListener%28javax.swing.event.MenuKeyListener%29) –
@JoopEggen補充說,我的答案和相信。 – Sinkingpoint
這隻有在菜單打開後才能使用,不能用於打開菜單,對不對? – quixotrykd