JAVA AWT 如何为MenuIteme添加单键快捷键
关注:295 答案:2 mip版
解决时间 2021-01-24 04:29
提问者雨份凉伴
2021-01-23 09:44
用MenuShortcut好像直接添加为与Ctrl的组合快捷键,怎么加单键快捷键,不说swing的,我知道那可以,现在我就想知道awt下行不?谢谢各位了!
最佳答案
二级知识专家你的幸福"关我啥事
2021-01-23 11:07
可以的!
菜单快捷方式是使用虚拟键代码(而不是字符)创建的。例如,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 {
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!
全部回答
1楼淡似春风
2021-01-23 12:24
我是来看评论的
我要举报
如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上信息!
推荐资讯
大家都在看