我知道使用线程比使用c#DoEvents()更有效,但我仍然想知道java中是否有等价的函数。我搜索了它,但我找不到任何东西。Application.DoEvents() - >在java中的等价函数?
5
A
回答
2
您可以使用Thread.yield()
,这是java自动放弃处理器控制权的对应方。
0
它被称为事件循环。此article显示了如何在Java中的UI组件中处理事件。
1
在所有未决事件之后,您可以使用EventQueue.invokeLater()
附加Runnable
。这有一个类似于C#的DoEvents()
的结果,它出现在Runnable.run()
方法中的代码之前。
See Java documentation for EventQueue。
例如,如果你想要让所有的GUI控件失去焦点和他们失去焦点事件是执行,可以使用下面的代码:
@Override
public void windowClosing(WindowEvent e){
// Clear the focus to allow last changes to be noted.
KeyboardFocusManager.getCurrentKeyboardFocusManager().clearGlobalFocusOwner();
// We want to let other events (e.g. lost focus) run before we start closing.
EventQueue.invokeLater(new Runnable() {
@Override public void run() {
// Do actual closing...
}
});
}
相关问题
- 1. wxPython Application.DoEvents()等价吗?
- 2. Java中C的“_getch()”的等价函数?
- 3. ASP Filter功能 - > C#等价函数
- 4. 等价的NSData:subdataWithRange在Java中?
- 5. 在Java中,PHP的list()函数等价于什么?
- 6. Java的compareTo()函数在Perl中等价吗?
- 7. C++等价的Java Map <String,Object>
- 8. C++中的fprint的等价函数
- 9. JavaScript中的返回函数的Java等价物
- 10. python中的perror等价函数
- 11. OpenCV中的Matlab Bwareaopen等价函数
- 12. 什么是Haskell中的“::”等价函数?
- 13. greenplum中的ISDATE()等价函数
- 14. java中的等价GroovyMBean
- 15. java中的string.format等价
- 16. Immutable.js和flatMap等价函数
- 17. Dojo等价于jQuery.text函数?
- 18. 等价于Java的“在.net中查找()”?
- 19. 等价于(从Haskell的)在Java 7中
- 20. Application.DoEvents();
- 21. 是否有Python的map函数的Java等价物?
- 22. urls的IO.Path.GetFileName的等价函数?
- 23. Ruby的等价于PHP的ucfirst()函数
- 24. Python的等价物的MATLAB psf2otf函数
- 25. Ruby的等价PHP的mcrypt_encrypt()函数
- 26. Python的等价于R的logspace_add函数?
- 27. Ruby的等价于PHP的“get_defined_vars”函数?
- 28. Java等待函数
- 29. java等价于mkstemp
- 30. 这个C++函数如何与等价的java函数不同地工作?
'Thread.yield()'不会如果调用代码位于GUI线程上,则可以提供帮助,因为事件在同一线程上分派。 – amotzg 2012-10-02 14:51:10