按一次后如何取消激活字母数字键?

时间:2013-09-20 19:35:15

标签: java swing keyevent

我正在使用KeyEventDispatcher制作摇摆计划。我需要的是,一旦我按下键盘上的键,按下第二次键时,分配给键的动作不可用。在某种程度上,就像在使用一次后将setEnabled()的{​​{1}}设置为JButton

2 个答案:

答案 0 :(得分:0)

因此,您使用密钥并将其传递给执行相应操作的方法。 请求/执行操作后,将其从列表中删除或将其标记为不可用。当它再次被调用时,没有可用的动作,因此它什么都不做。 您的商店只是来自按键处理程序的字符/键码键入的某些描述的哈希/字典。

或者不是实际执行操作而是返回它。在它已经完成的情况下,返回null,或者什么都不做(或者可能是哔哔声或其他一些)。

无论哪种方式,都将操作的所有控制委托给另一个类。 为您提供各种选项,特别是如果您使用界面,您可以在ui中注入不同的动作处理程序。

答案 1 :(得分:0)

触发每个密钥后,将其KeyStroke或密钥代码添加到List。将传入值与此列表进行比较(contains)。如果你发现它,请忽略它......