(个人笔记) swing 设置程序级快捷键 和 窗口集快捷键

本文介绍了如何在Swing程序中设置全局及窗口级别的快捷键。通过一段代码展示,强调了在多个窗口之间切换时如何避免快捷键冲突的问题,确保每个窗口的快捷键独立有效。
摘要由CSDN通过智能技术生成

快捷键注册代码(来自互联网,稍作改进)


/*
 * 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值