- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个菜单项“重命名”,将 F2 设置为快捷键。事实上,当菜单显示时,“重命名”旁边会有一个小的“F2”指示。
遗憾的是,这不起作用。此加速器触发无响应。当我将加速器更改为 CTRL+F2 - 它起作用了。
看来我应该使用 InpoutMpa/ActionMap。这样做的问题是我希望它在应用程序的任何地方都能工作,所以我试图将它与顶级 JFrame 相关联。但是,JFrame 没有 getInputMap() 方法。
迷路了。
[添加]
ks = KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0);
JMenuItem mi = new JMenuItem("Rename");
mi.setAccelerator(ks);
mi.addActionListener(action);
最佳答案
发生这种情况的原因可能是 JTable 使用 F2 调用 StartEditing 操作(我在我的一个程序中看到了相同的行为并将其追溯到此)。
有几个解决方案。最彻底的是删除这个输入映射(我相信这段代码实际上删除了所有 JTables 的映射):
KeyStroke keyToRemove = KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0);
InputMap imap = table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
while (imap != null)
{
imap.remove(keyToRemove);
imap = imap.getParent();
}
或者,如果您仅将表格用于显示,并且不打算让用户对其进行编辑,则可以使其不可聚焦:
table.setFocusable(false);
在一个完全不同的主题上,我强烈建议为您的菜单项创建一个 AbstractAction
子类,而不是“从头开始”创建它们。除了为您提供非常简单的菜单设置代码外,您还可以对主菜单和弹出窗口/工具栏使用相同的操作实例,并同时启用/禁用它们。
关于java - Swing:将功能键 (F2) 设置为加速器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2019371/
大模型技术的发展和应用,预示着更加智能化、个性化未来的到来。如果将大模型比喻为正在疾驰的科技列车,语料便是珍贵的“燃料”。本次世界人工智能大会期间,合合信息为大模型打造的“加速器”解决方案备受关
如何设置快捷方式,例如。 Ctrl+Q,到 JButton ? JMenuItem有 setAccelerator()设置一个的方法,但是 JButton没有。 最佳答案 好吧,您可以使用 set o
如何从 TMainMenuActionBar 中删除加速器? 似乎找不到要更改的 AutoHotKey = maManual 属性,也找不到任何其他会产生正确效果的属性。 最佳答案 (假设问题是关于
我正在 Appcelerator 中开发 iOS 应用程序。如何检测用户何时点击窗口标题(导航栏中的标题)? 感谢您的所有意见! 最佳答案 我会在导航栏标题上放置一个透明 View ...如果您不使用
我读到了助记符和加速器的区别,但现在我想知道这些是否加速器仅用于菜单项或其他 JComponents。 最佳答案 您可以为任何 JComponent 使用键绑定(bind) :) 看看这个 guide
我在 Windows 10 中使用 Delphi XE7。我在主窗体和模态辅助窗体上都有一个 TMainMenuBar。问题是,如果辅助窗体还包含 TMemo,辅助窗体上的加速键不会激活菜单。例如,如
(是的,我知道 SO 上有 a similar question,但它已经 8 个月大了——从那时起 IE8 RTM 就出来了——而且不是很有启发性) 是否可以在我的网站上禁用 IE8 的“加速器”?
我需要创建一个可在 BlackBerry (10%) 和 iO (90%) 上运行的应用程序。 Appcelerator Titanium 看起来确实可以,但 BlackBerry 开发仅在 Wind
我正在使用 PowerBuilder(我猜它与这个问题无关,尽管我可能错了)。 我正在尝试将按钮上的文本设置为“Save && &New”,它应该读作“Save & New”,并带有下划线“N”。 可
$ appc ti build -T dist-adhoc Appcelerator Command-Line Interface, version 7.1.2 Copyright (c) 2014-
好吧,我对 Electron 和开发网络应用程序非常陌生。我不擅长阅读文档。如何注册全局短 切割为 Electron 。 最佳答案 即使应用程序没有键盘焦点,您也可以使用 globalshortcut
我目前正在使用 Appcelerator 开发一款 Android 应用程序,该应用程序仅提供西类牙语版本。 我的问题是,如果用户的智能手机不是西类牙语,则 strings.xml 中的字符串将不会显
Titanium SDK 版本:1.7.0iPhone SDK 版本:4.2 我正在开发一个 iOS 应用程序,我监控每个窗口的内存使用情况,并且它在每个屏幕上都在不断减少。 一般来说什么是消耗内存?
我正在使用glade和C语言来开发GUI。我能够将键盘上的所有数字键和字母键映射到林间按钮作为加速器。但是,我无法映射以下按钮:ESC、向上、向下、向左、向右箭头。 在林间空地,当我在加速器字段中输入
我的应用程序的主 JFrame 包含一个 JTextPane。虽然它具有焦点,但它会使用所有键盘快捷键(“加速器”),而不是将它们传递给 JFrame 的 JMenu。这意味着虽然它有焦点,例如“新建
我想给组件添加一个加速器,比如对 JTextComponent 执行撤消/重做(Ctrl-Z、Ctrl-Y),但想在JMenu,我应该将 KeyStroke + AbstractAction 添加到:
我知道从 4.2.1 开始就有适用于 iOS 的 API安卓呢?谁知道我们什么时候可以在 Android 浏览器中访问陀螺仪数据? 最佳答案 据我所知,最常见的版本(Android 2.2、2.3)不
我目前正在使用 WCF 服务,该服务使用基于消息的安全性,旨在通过 HTTP 而不是 HTTPS 进行访问。 这已经过测试,效果很好。在部署到使用 SSL 加速器的机器时,出现以下错误。 “接收对 h
我有一个 mfc 应用程序,我在其中定义了键盘加速器当我使用字母数字字符时它工作正常,但我想定义一个加速器,在按下 +/- 键时放大/缩小所以我将其定义如下并且它工作正常 ID1 ACCELERAT
最近我做了一些研究,使用加速度计 + 陀螺仪来使用这些传感器在没有 GPS 帮助的情况下跟踪智能手机(见这篇文章) Indoor Positioning System based on Gyrosco
我是一名优秀的程序员,十分优秀!