Atitit.swt 线程调用ui控件的方法
来源:互联网 发布:四叶草引导mac和win7 编辑:程序博客网 时间:2024/05/18 14:12
Atitit.swt 线程调用ui控件的方法
1 SwingUtilities.invokeLater1
2 display.asyncExec方法1
3 display.timerExec(500,timer);2
4 、但有时候并不一定要程序执行时就要定时检测,有时需要外部事情激发这就出现了第2种解决方案,写一个内置类,可以放在事件监听的方法中,然后激发:2
5 参考3
1 SwingUtilities.invokeLater
SwingUtilities.invokeLater(new Runnable(){ @Override public void run() { label2.setText(x + ""); } });
这个问题我也碰到过,有个updateUI()方法,可以解决。
2 display.asyncExec方法
用SWT提供的display.asyncExec方法,发现其实质根本不是另开一个线程,只是把run方法调用了一次,所以导致调用Thread.sleep时程序就会死掉。
有时候是另外一个线程
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
3 display.timerExec(500,timer);
1. final Runnable timer = new Runnable () {
2. int count = 0;
3. public void run () {
4. synchronized (this) {
5. try {
6. text.setText(
7. Integer.toString(count++));
8. } catch (Exception e) {
9. e.printStackTrace();
10. }
11. }
12. }
13. };
14. while (shell != null && !shell.isDisposed()) {
15.
16. if (!display.readAndDispatch())
17. display.sleep();
18. else
19. display.timerExec(500,timer);
4 、但有时候并不一定要程序执行时就要定时检测,有时需要外部事情激发这就出现了第2种解决方案,写一个内置类,可以放在事件监听的方法中,然后激发:
1. new Thread() {
2. private Runnable cmd = new Runnable() {
3. public void run() {
4. shell.setText(String.valueOf(counter++));
5. }
6. };
7. public void run() {
8. while (true) {
9. try {
10. Thread.sleep(2000);
11. } catch (InterruptedException e) {
12. return;
13. }
14. display.asyncExec(cmd);
15. }
16. }
17. }
18. .start();
5 参考
SWT中定时器的一种特殊实现方式_SWT中线程互访时display.asyncExec_display.syncExec...程序死掉无响应的解决办法 - fm2005的专栏 - 博客频道 - CSDN.NET.html
- Atitit.swt 线程调用ui控件的方法
- SWT中非UI线程更新UI的方法
- Atitit。Js调用后台语言 java c# php swing android swt的方法大总结
- SWT 的 UI 线程问题
- swt在其它线程中调用界面控件的操作
- C#在非UI线程调用UI线程的控件
- 跨线程更新UI控件的方法
- UI控件初始化的调用方法。
- java:Observable/Observer模式在SWT环境下UI线程/非UI线程的透明化调用
- SWT/Jface UI线程的例子
- SWT的UI线程和非UI线程
- SWT控件的computeSize方法
- SWT 中的UI 线程
- SWT中的UI线程
- windows跨线程调用控件的方法
- windows跨线程调用控件的方法
- 在线程中调用UI控件
- 关于UI控件跨线程调用
- 浅谈Android中微信的文本,音频,视频,链接,表情,图片分享接口开发详解
- Zookeeper应用--配置管理
- 自定义UIActionSheet
- 如何在Windows7操作系统下使用g++命令
- mac下使用navicat连接mysql时遇到的问题
- Atitit.swt 线程调用ui控件的方法
- cart2pol函数
- 设计模式之UML类图的常见关系
- MatLab函数:pol2cart()
- hdu5164 Matching on Array map实现ac自动机
- Java之工具-------Junit自己的测试工具MyJUnit
- Injecting Spring Beans into Java Servlets
- AngularJS的双向数据绑定
- 贪心算法---礼堂的安排