设置快捷键不能.....
private class MyMenuBar extends JMenuBar{
////这是一个Applet程序中的一部分,我可以保证程序的其它部分是正确的,
////而且与本段没有关系(事实上,是为了测试才把原来的程序改成这样的:))
////因此把类写成private也是可以的
public MyMenuBar(){
JMenu menu;
///1.File(_F)
String[] fileMenuItems = {"打开(O)","退出(x)"};
char[] fileMenuShortcuts = {'O','x'};
menu = new JMenu("文件(F)");
menu.setMnemonic('F');
for(int i = 0;i < fileMenuItems.length;i++){
JMenuItem item = new JMenuItem(fileMenuItems[i]);
switch(i){
case 0 :item.setAccelerator(KeyStroke.getKeyStroke(fileMenuShortcuts[i],
java.awt.Event.CTRL_MASK, false));
item.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
// DataBaseConnectionDialog connect = new DataBaseConnectionDialog(null);
// connect.show();
System.out.println("Opening....");
}
});
break;
case 1:item.setAccelerator(KeyStroke.getKeyStroke(fileMenuShortcuts[i],
java.awt.Event.CTRL_MASK, false));
item.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.println("Exit....");
}
});
break;
}
menu.add(item);
}
add(menu);
}
}
整个程序思路很是简单,编译也没有错,执行也可以.但是,执行结果是非预期的:
setAccelerator似乎没有起到作用......