0

我正在使用KeyEventDispatcher. 我需要的是,一旦我按下键盘上的一个键,分配给该键的操作在第二次按下键时不可用。在某种程度上,这就像在使用一次后设置setEnabled()a 。JButtonfalse

4

2 回答 2

0

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

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

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

于 2013-09-20T19:50:19.180 回答
0

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

于 2013-09-20T19:54:12.750 回答