Java Swing里面JMenu快捷键怎么设置?

在VB或者Delphi等Windows编程里面,只要设置类似“文件(&F)”就可以让F成为文件菜单项的快捷键,可是JavaSwing的JMenu怎么设置啊?我用(&F)不... 在VB或者Delphi等Windows编程里面,只要设置类似“文件(&F)”就可以让F成为文件菜单项的快捷键,可是Java Swing的JMenu怎么设置啊?我用(&F)不行,他会直接显示出来 展开
 我来答
Timmy_Dong
2008-11-07 · TA获得超过393个赞
知道小有建树答主
回答量:334
采纳率:100%
帮助的人:272万
展开全部
import javax.swing.*;
import java.awt.event.*;

public class SwingMenu implements ActionListener {
public void actionPerformed(ActionEvent e) {
String lab = ((JMenuItem) e.getSource()).getText();
System.out.println("label = " + lab);
if (lab.equals("Exit")) {
System.exit(0);
}
}

public static void main(String args[]) {
JFrame f = new JFrame("testing");
JMenu m = new JMenu("File");
m.setMnemonic(KeyEvent.VK_F);
SwingMenu acl = new SwingMenu();

JMenuItem mi1 = new JMenuItem("Open");
mi1.setMnemonic(KeyEvent.VK_O);
mi1.addActionListener(acl);
m.add(mi1);

KeyStroke ms2 = KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK);
JMenuItem mi2 = new JMenuItem("Save");
mi2.setMnemonic(KeyEvent.VK_S);
mi2.setAccelerator(ms2);
mi2.addActionListener(acl);
m.add(mi2);

KeyStroke ms3 = KeyStroke.getKeyStroke(KeyEvent.VK_E,
InputEvent.CTRL_MASK);
JMenuItem mi3 = new JMenuItem("Exit");
mi3.setMnemonic(KeyEvent.VK_E);
mi3.setAccelerator(ms3);
mi3.addActionListener(acl);
m.add(mi3);

KeyStroke ms4 = KeyStroke.getKeyStroke('x');
JMenuItem mi4 = new JMenuItem("Close");
mi4.setMnemonic(KeyEvent.VK_N);
mi4.setAccelerator(ms4);
mi4.addActionListener(acl);
m.add(mi4);

JMenuBar mb = new JMenuBar();
mb.add(m);
f.setJMenuBar(mb);
f.setSize(200, 200);
f.setVisible(true);
}
}

/**
/*KeyStroke ms4 = KeyStroke.getKeyStroke('x'); 单快捷键

/*KeyStroke ms3 = KeyStroke.getKeyStroke(KeyEvent.VK_E,
InputEvent.CTRL_MASK);组合快捷键

具体键值可能还需要查一下,我也是网上搜的。看看吧。
雅嘻嘻oo
2008-11-07 · TA获得超过124个赞
知道答主
回答量:74
采纳率:0%
帮助的人:0
展开全部
这些你可以去查阅 java的api帮助文档 里面都有说明,如何如何设置 。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ldx0531
推荐于2016-03-26 · TA获得超过860个赞
知道答主
回答量:106
采纳率:0%
帮助的人:77.7万
展开全部
JMenu jm = new JMenu("File");
jm.setMnemonic('f');

or

JMenu jm = new JMenu("文件(F)");
jm.setMnemonic('f');
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式