关于display.syncExec(runnable);的问题

问题描述

我在SWT中,想实时的改界面的各个部分,重画一些组件之类的,用了很多Runnablerunnable=newRunnable(){publicvoidrun(){//改界面};display.syncExec(runnable);}

大概用了7、8处吧,不知道这样有没有什么问题?现在程序执行起来有时感觉有点慢,一部分界面在改变的时候偶尔另外一部分界面进程感觉有点阻塞,有时需要刷新一下更改才能显现。有什么改进办法吗?

时间: 2024-11-06 07:29:10

关于display.syncExec(runnable);的问题的相关文章

关于Eclipse中UI程序的线程的讨论

程序 虽然各个操作系统之间的线程机制是不一样的,但是大致是相同的.当用户使用GUI程序时,如果点鼠标或按下键盘上的键等时,操作系统会产生对应的GUI事件,它来决定哪个窗口或程序来接受每一个事件并且放到程序的事件队列中.       任何GUI程序的底层结构就是一个事件循环.程序首先初始化事件循环,并开始循环,这个循环会从事件队列依次接收GUI事件并一一做出相应的反应.程序应该对事件做出快速的反应使程序一直对用户有响应,举个例子,用户点了一下程序里的一个按钮结果程序就没反应了,那么这个程序应该算是

DEPLOYING NATIVE UWP (UNIVERSAL WINDOWS PLATFORM) APPS FOR JAVA DEVELOPERS & PUBLISHING THEM TO THE MICROSOFT STORE

原文: DEPLOYING NATIVE UWP (UNIVERSAL WINDOWS PLATFORM) APPS FOR JAVA DEVELOPERS & PUBLISHING THEM TO THE MICROSOFT STORE UWP Apps may distributed in 2 different ways: In the Windows App Store. (This should be used for deployment of any production app)

Eclipse Package Explorer视图无法打开

  打开Eclipse后Package Explorer视图无法打开,显示一个红叉,红叉后面的Deatils后,显示下面的内容: java.lang.ArrayIndexOutOfBoundsException: -1 at com.ibm.icu.text.RuleBasedCollator.append(RuleBasedCollator.java:3626) at com.ibm.icu.text.RuleBasedCollator.doPrimaryCompare(RuleBasedCo

eclipse ViewPart刷新问题

问题描述 请问:我在ViewPart中创建了一个表格,表格数据为ArrayList,然后我创建一个线程,在此线程中改变ArrayList的值,我想改变值后能刷新表格,试了很多方式,都失败了,一下是我的ViewPart代码:publicvoidcreatePartControl(Compositeparent){viewer=newTableViewer(parent,SWT.MULTI|SWT.H_SCROLL|SWT.V_SCROLL|SWT.FULL_SELECTION);viewer.se

swt 界面假死 使用asyncExec(runnable),没出现多线程的效果

问题描述 我现在做网络抓取数据包后再还原成html的一个实验,使用swt实现界面,点击开始按钮开始抓包,点击停止按钮停止抓包,想法是抓取到一个数据包就在表格显示,也就是动态刷新界面,当抓取的数据包上千上万的时候界面就假死了,要停止抓包根本停止不了,有时候只有点击鼠标界面就出现无法响应的情况.整个界面代码如下,现在做一个小实验,点击开始按钮,表格创建1000行,第一列为名称,第二列为进度条.但是我想在1000行生成之前停止,但是1000行没生成完之前stop根本不好使,在1000行生成完之后点st

Beginner: Using Servlets to display, insert and update records in database.(1)

servlet Displaying Records from the Database with Java Servlets. Overview : In this article I'll explain each step you need to know to display records from the database using Servlets. The steps for displaying records in JSP pages and Java Beans are

perl-clusterssh:Can't connect to display `unix:0'

问题描述 clusterssh:Can't connect to display `unix:0' 3C 当我执行命令cssh -L root cluster的时候报错: Can't connect to display `unix:0': No such file or directory at /usr/share/perl5/X11/Protocol.pm line 2264 我的DISPLAY=:0.0 为什么呢 解决方案 sshd_config 中需要打开这两项 AllowTcpFor

runnable-线程一直处于RUNNABLE,也没有发现阻塞或是死锁的情况?

问题描述 线程一直处于RUNNABLE,也没有发现阻塞或是死锁的情况? 我写的是一个频繁访问网络的爬虫,启了20个线程: 但是老实跑了一段时间,线程全部处于RUNNABLE状态了: 网络使用的是httpclient3.1; 我把threaddump给放到下面: "Thread-19" #30 prio=5 os_prio=0 tid=0x0000000059b3d000 nid=0xcb4 runnable [0x000000005ba1e000] java.lang.Thread.S

【原】display:inline-block下的IE元素

通常我们想让内联元素为行块布局显示,有2种方法,最常见的是方法是.selector {float:left;......},第二种方法是.selector {display:inline-block;......},对于第二种方法,在IE浏览器中得到支持,测试结果会认为IE能识别display:inline-block属性,而最近查阅了资料后,得到结果并非如此...... display:inline-block ,简单来说就是将对象呈递为内联对象,但是对象的内容作为块对象呈递.这个属性目在主要