JAVA AWT 如何为MenuIteme添加单键快捷键
用MenuShortcut好像直接添加为与Ctrl的组合快捷键,怎么加单键快捷键,不说swing的,我知道那可以,现在我就想知道awt下行不?谢谢各位了!...
用MenuShortcut好像直接添加为与Ctrl的组合快捷键,怎么加单键快捷键,不说swing的,我知道那可以,现在我就想知道awt下行不?谢谢各位了!
展开
1个回答
展开全部
可以的!
菜单快捷方式是使用虚拟键代码(而不是字符)创建的。例如,Ctrl-a(假设 Control 是判磨加速键)的菜单快捷方式将通过类似以下的代码创建:
MenuShortcut ms = new MenuShortcut(KeyEvent.VK_A, false);
例子:
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.MenuShortcut;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
public class SwtKey extends Frame implements ActionListener {
/**
* 创建一个新的实例 SwtKey.
*/
public SwtKey() {
// TODO Auto-generated constructor stub
MenuBar mb = new MenuBar();
掘御斗 Menu m = new Menu("颜色");
MenuItem mir = new MenuItem("红色", new MenuShortcut(KeyEvent.VK_R, false));
MenuItem miy = new MenuItem("黄色", new MenuShortcut(KeyEvent.VK_Y, false));
MenuItem mib = new MenuItem("蓝色", new MenuShortcut(KeyEvent.VK_B, false));
拆掘mir.addActionListener(this);
miy.addActionListener(this);
mib.addActionListener(this);
m.add(mir);
m.add(miy);
m.add(mib);
mb.add(m);
this.setMenuBar(mb);
this.setSize(200, 200);
this.setVisible(true);
}
public static void main(String[] args) {
new SwtKey();
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.out.println(e.getActionCommand());
}
}
例子里没加关闭事件,有问题再追问,good luck!
更多追问追答
追问
首先感谢大哥的帮助,
其次是,我看这个例子对三个MenuItem添加的快捷键是ctrl+R,ctrl+Y,ctrl+B对吧!
其实我是想要单键快捷键的,比如我想用delete作为删除的快捷键,只是单键delete,不过按上MenuShortcut()添加后它一定是ctrl+delete的组合快捷键啊,所以怎么能在awt入设置某个MenuItem的单键快捷键,不要组合键,谢谢哥
追答
查询了API,没有发现,不绑定ctrl
或ctrl+shift的方法!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询