【发布时间】:2016-02-10 09:18:03
【问题描述】:
我想知道是否可以在 java 中创建一个偶数,而无需不断轮询我正在观察的值的状态。
例如,我是否可以创建一个在用户按下空格键时发生的事件,而不检查是否按下空格键,这样只有当用户按下空格键时才会调用函数?
【问题讨论】:
-
“不断轮询我正在观察的值的状态”是什么意思?
-
是的,您必须向您的父组件添加一个 keylistener,它将已经存在的 keypressevent 定向到您的组件。 docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html
-
原理在en.wikipedia.org/wiki/Observer_pattern观察者模式中有描述......
-
@Sher Alam 我的意思是,我希望在值更改时发生事件,例如一个键的值是“假”,因为它没有被按下并在用户按下它时变为真,而不必编写一个while循环来定期检查该键是否被按下。
-
@Martin Frank 但是通知观察者的问题,只有当按键从不被按下变为被按下而不检查while循环中的状态时仍然存在。