快捷键注册代码(来自互联网,稍作改进)
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package cashiersystem;
import java.awt.AWTEvent;
import java.awt.Component;
import java.awt.Toolkit;
import java.awt.event.AWTEventListener;
import java.awt.event.KeyEvent;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
public class ShortcutManager implements AWTEventListener {
// 快捷键与事件处理对象键值对
private Map<String, ShortcutListener> listeners;
// 某组件上发生了快捷键列表中的快捷键事件, 如果他的父组件在被忽略组件列表中, 则放弃这个事件.
private Set<Component> ignoredComponents;
// 保存键盘上键与它的ascii码对应
// 如果以某键的ascii码为下标, 数组中此下标的值为true, 说明此键被按下了.
// 当此键被释放开后, 数组中对应的值修改为false
private boolean[] keys;
public ShortcutManager() {
System.out.println("init hotKey manager.....");
keys = new boolean[256];
ign