设置应用程序范围的键侦听器

n002213f:

我如何设置应用程序范围的按键侦听器(键盘快捷键),以便在按下组合键(例如Ctrl+ Shift+ T)时,将在Java应用程序中调用特定的操作。

我知道可以设置JMenuBar菜单项的键盘快捷键,但就我而言,该应用程序没有菜单栏。

亚当斯基:

查看Java教程的“ 如何使用键绑定”部分。

您需要Action在组件的一个中创建并注册一个ActionMap并在应用程序的一个组件中注册一个(KeyStrokeAction Name)对InputMap假设您没有,则JMenuBar只需JPanel在应用程序的顶级注册键绑定

例如:

Action action = new AbstractAction("Do It") { ... };

// This is the component we will register the keyboard shortcut with.
JPanel pnl = new JPanel();

// Create KeyStroke that will be used to invoke the action.
KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_T, InputEvent.CTRL_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK);

// Register Action in component's ActionMap.
pnl.getActionMap().put("Do It", action);

// Now register KeyStroke used to fire the action.  I am registering this with the
// InputMap used when the component's parent window has focus.
pnl.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(keyStroke, "Do It");

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在主类或启动侦听器之外运行短暂的Spring Boot应用程序?

了解Spring Boot的应用程序生命周期和启动侦听器

应用程序侦听器中的Spring Load应用程序属性

如何使用Spring Java应用程序使IBM MQ侦听器进程缓慢

设置自定义侦听器以侦听整个应用程序

AWS应用程序负载平衡器侦听器规则路径

Android应用程序小部件权限更改是否有侦听器?

实施Azure Service Bus侦听器应用程序

应用程序在后台时的Firebase侦听器

当应用程序从android中的最新应用程序终止时的回调侦听器

如何为所有正在运行的应用程序添加侦听器

当应用程序进入后台时,Firestore快照侦听器的最佳做法是什么?

如何获取Azure应用程序网关HTTPS侦听器的证书

反应从应用程序中的任何地方取消订阅侦听器

注册传感器侦听器时,我的应用程序崩溃

Web应用程序的事件侦听器最佳实践

在应用程序还原时在片段中设置侦听器实例

Servlet 3.1应用程序中侦听器的IllegalArgumentException加载属性

注册传感器侦听器时,Android Wear应用程序崩溃

如何将侦听器添加到Actor应用程序?

实施按钮侦听器时,Android应用程序崩溃

使用 Adobe 扩展脚本将事件侦听器附加到应用程序项目中

Android - 增值侦听器导致应用程序崩溃

尝试在 Fragment 中的 ImageButton 上设置单击侦听器时,Android 应用程序崩溃

在 android 应用程序关闭后使用侦听器

JavaScript 应用程序:尝试使“wheel”事件侦听器不连续失败

Cordova 应用程序 - 键盘显示/打开前的事件侦听器

整个应用程序的通用导航侦听器

AWS 应用程序负载均衡器:安全组设置与侦听器设置