在做菜单时候,我们知道可以为jmenuitem加上加速键,比如记事本里面的ctrl+c
ctrl+ v等等办法是调用setAccelerator()方法比如
item.setAccelerator(KeyStroke.getKeyStroke('c',Event.CTRL_MASK));
但是我如果想把单个键作为加速键应该怎么办,比如把f1或者del作为菜单中某项的加速键应该如何设置??谢谢!!
ctrl+ v等等办法是调用setAccelerator()方法比如
item.setAccelerator(KeyStroke.getKeyStroke('c',Event.CTRL_MASK));
但是我如果想把单个键作为加速键应该怎么办,比如把f1或者del作为菜单中某项的加速键应该如何设置??谢谢!!
这样行不行?
这样也行!
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
class TestChar extends javax.swing.JFrame
{
public TestChar()
{
JMenuBar bar=new JMenuBar();
JMenu menu=new JMenu("菜单");
JMenuItem item=new JMenuItem("新建文件");
menu.add(item);
bar.add(menu);
setJMenuBar(bar);
item.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C,0));
item.addActionListener(new java.awt.event.ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent e)
{
System.out.println("事件产生");
}
});
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setSize(200,200);
setVisible(true);
}
public static void main(String[] args)
{
new TestChar();
}
}