gpt4 book ai didi

java - 将 KeyListener 添加到自定义对象

转载 作者:行者123 更新时间:2023-12-01 23:53:48 25 4
gpt4 key购买 nike

我正在为我们的游戏重构大量代码,以使对象耦合尽可能不存在(以便于测试和 future 的实现)。目前,我的 JFrame 监听按键,将其发送到事件管理器类,该类再次需要对每个对按键输入执行操作并调用这些对象上的方法的对象的引用。

保留响应对象内的键事件的责任似乎是个好主意,例如,这将允许我更改当前屏幕并使新屏幕表现不同,而无需检查不同的全局状态(例如切换到游戏菜单)。

但是我不知道如何为我的自定义对象实现按键监听器,看来它必须是一个 swing/awt 组件。如何向自定义对象添加 KeyListener?我知道如何创建自定义事件和自定义监听器,但不知道如何通过这些方法捕获键盘输入。

最佳答案

不要使用KeyListener。而是使用 Swing 键绑定(bind):

javax.swing.JComponent.registerKeyboardAction(ActionListener, KeyStroke, int)
javax.swing.JComponent.getInputMap(int)
javax.swing.JComponent.getActionMap()

查看教程:http://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html

关于java - 将 KeyListener 添加到自定义对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15926100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com