Java Swing里面JMenu快捷键怎么设置?
在VB或者Delphi等Windows编程里面,只要设置类似“文件(&F)”就可以让F成为文件菜单项的快捷键,可是JavaSwing的JMenu怎么设置啊?我用(&F)不...
在VB或者Delphi等Windows编程里面,只要设置类似“文件(&F)”就可以让F成为文件菜单项的快捷键,可是Java Swing的JMenu怎么设置啊?我用(&F)不行,他会直接显示出来
展开
展开全部
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);组合快捷键
具体键值可能还需要查一下,我也是网上搜的。看看吧。
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);组合快捷键
具体键值可能还需要查一下,我也是网上搜的。看看吧。
展开全部
这些你可以去查阅 java的api帮助文档 里面都有说明,如何如何设置 。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
JMenu jm = new JMenu("File");
jm.setMnemonic('f');
or
JMenu jm = new JMenu("文件(F)");
jm.setMnemonic('f');
jm.setMnemonic('f');
or
JMenu jm = new JMenu("文件(F)");
jm.setMnemonic('f');
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询