问题标签 [keyevent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2326 浏览

android - Android:帮助创建一个按钮,该按钮产生的结果与按 D-Pad 上的向下键相同?(第2部分)

为什么这不起作用?我正在尝试为一个按钮创建一个 onClickListener,该按钮产生与按下 D-pad 上的“向下”键相同的效果。Eclipse 给我一个错误,说:“无法从 InputMethodService 类型中对非静态方法 sendDownUpKeyEvents(int) 进行静态引用”帮助!

0 投票
3 回答
1627 浏览

java - Java 中的关键事件 - 初学者帮助

因此,我在学习 Java 时一直在编写一个简单的程序,该程序会显示一个小矩形屏幕,上面有一个圆圈在移动。背景和圆圈也会改变颜色和速​​度。

现在我正在尝试添加 KeyEvents,这样当用户键入一个字符时,圆圈会改变方向。几个小时以来,我一直在尝试处理 KeyEvent 功能,但我被卡住了。

您将如何更改以下代码以使程序响应键盘输入:

0 投票
4 回答
5473 浏览

android - 对 Android 关键事件处理感到困惑。有什么好的解释吗?

我是Android的相对初学者。有人对如何在 EditText/TextView 中监听按键和软键有合理的解释吗?

我希望看到一个全面的教程或一组示例。

据我了解,我可以在我的 Activity 中添加一个 KeyListener,例如 onKeyDown()、onKeyUp(),但是当我尝试这样做时,我无法触发普通键的事件,例如只有 HOME 和 BACK。

我已经看到提到使用 TextWatcher 但这与处理原始键事件不同。

SO上似乎有许多半解决方案。希望你能帮助消除混乱的迷雾......

0 投票
2 回答
1936 浏览

java - 如果底层窗口在 ESC 上关闭,如何为 JPopupMenu 启用 ESC-Close?

想象一下两种常见情况的组合:在 VK_ESCAPE 上关闭的 JDialog(或 JFrame)(设置为根窗格上的键绑定)和应该在 ESC 上关闭的内部 JPopupMenu。问题是:如果弹出窗口可见,按转义总是关闭对话框 - 事件。显然弹出窗口甚至没有收到关键事件,因此它不能被弹出窗口使用。有没有办法让它正常工作,以便在第一个 ESC 事件时弹出窗口关闭,而在第二个对话框关闭?顺便说一句:它确实可以与 JComboBox 一起使用,默认情况下,当按下转义键时它会关闭。

0 投票
2 回答
763 浏览

java - 我无法让 KeyEvent 侦听器工作

好的,首先。如果我做 System.out.println(e); 当我按下键时会打印出来。但是,我一生都无法弄清楚如何将其存储到 int 中。如果我执行 int press = e.KEY_PRESSED(); ,我的 IDE 不会给我任何错误 或 int 按下 = e.getKeyCode(); 但是如果我尝试打印,什么也不会发生。

我一直试图让它工作几个小时,谷歌搜索 KeyEvent 处理程序和 Javadocs 似乎对我没有什么帮助。

}

0 投票
1 回答
2678 浏览

java - Java 如何调度 KeyEvents?

我已经阅读了几次关于键绑定的明确教程,但我的大脑缓存似乎不足以容纳复杂的过程。

我正在调试一个键绑定问题(结果证明我使用了错误的JComponent.WHEN_*条件),并且我偶然发现了一个简明有趣的 javadoc,用于javax.swing.KeyboardManager一个(不幸的)匿名 Java 工程师的私有包。

我的问题是:除了KeyEventDispatcher一开始就检查的内容之外,描述是否遗漏和/或错误?

KeyboardManager 类用于帮助为 WHEN_IN_FOCUSED_WINDOW 样式操作分派键盘操作。具有其他条件的操作直接在 JComponent 中处理。

这是对我所理解的键盘调度至少应如何工作的语义[原文如此]的描述。

KeyEvent 被分派到焦点组件。焦点管理器首先处理此事件。如果焦点管理器不想要它,则 JComponent 调用 super.processKeyEvent() 这允许侦听器有机会处理事件。

如果没有一个侦听器“消费”该事件,那么键绑定就会被击中。这是事情开始变得有趣的地方。首先,使用 WHEN_FOCUSED 条件定义的 KeyStokes [原文如此] 有机会。如果这些都不想要该事件,那么组件会通过它的 [sic] 父项查找类型为 WHEN_ANCESTOR_OF_FOCUSED_COMPONENT 的操作。

如果还没有人拿走它,那么它就会在这里结束。然后我们查找为 WHEN_IN_FOCUSED_WINDOW 事件注册的组件并向它们触发。请注意,如果这些都没有找到,那么我们将事件传递给菜单栏并让它们对其进行破解。它们的处理方式不同。

最后,我们检查我们是否正在查看内部框架。如果我们是并且没有人想要该事件,那么我们向上移动到 InternalFrame 的创建者并查看是否有人想要该事件(等等等等)。


(更新)如果您想知道键绑定指南中的这个粗体警告:

因为搜索组件的顺序是不可预测的,所以要避免重复的 WHEN_IN_FOCUSED_WINDOW 绑定!

这是因为这个片段在KeyboardManager#fireKeyboardAction

所以搜索的顺序其实是可以预测的,但是显然依赖于这个特定的实现,所以最好不要依赖它。保持不可预测。

(Javadoc 和代码来自 WinXP 上的 jdk1.6.0_b105。)

0 投票
3 回答
12266 浏览

javascript - document.createEvent 应该如何处理关键事件?

我正在尝试在 Web 应用程序中模拟按键,它适用于嵌入式系统,但它使用 Webkit 派生的浏览器。我已经在 Chrome 中测试了代码并得到了同样的错误。

我尝试使用来自Yahoo的此示例中的代码片段,但在使用dispatchEvent. “target”是 DOM 树中的一个 HTML 元素。

它总是抛出:

“错误:UNSPECIFIED_EVENT_TYPE_ERR:DOM 事件异常 0”

我也试过createEvent("Events")了,它总是归结为同样的例外,无论是在嵌入式系统上还是在 Chrome 中。

0 投票
1 回答
4827 浏览

android - Android - 听数字键盘上的按键?

我使用以下代码从 Android 上的软输入键盘监听 0 - 9 的按键:



当我以以下模式显示软输入键盘时,该代码有效:

替代文字

但是,当我在以下模式下显示软输入键盘时,它不起作用:

替代文字

为什么是这样?

0 投票
1 回答
1917 浏览

android - 如何从 Intent 或 BroadcastReceivers 捕获关键事件

有没有办法使用 Intent 或 BroadcastReceiver 从菜单按钮捕获关键事件?

基本上我希望在按下菜单键时激活我的应用程序的服务。

谢谢

0 投票
3 回答
3968 浏览

java - JFormattedTextField 未正确清除

我正在做这个任务,做一个解决数独的程序。我有一个带有 SudokuTextBox 网格的面板扩展了 JFormattedTextField。我有一个 MaskFormatter,因此每个文本框只接受一个整数。然后在我的面板中,当一个键被释放时,我有这个代码。

问题是,如果我在文本框中输入了一个有效值,然后我返回并输入一个无效值(根据数独规则),文本框就会被清除。但是,当我向前选项卡时,前一个有效值会显示在文本框中。我的 sudokumatrix 包含所有已输入的数字,确实清除了应有的值,因此它仅在相应的文本框中。

当我将“SudokuTextBox 扩展 JFormattedTextField”更改为“SudokuTextBox 扩展 JTextField”时,事情变得更加混乱,它就像一个魅力。但是我无法将 JTextField 的大小设置为正方形,并且我不能对每个文本框强制执行一个整数。

我错过了一些非常明显的东西吗?